Jump to content

Java and cmd "Could not find or load main class"


JustMike
 Share

Recommended Posts

Hi, I'm a beginner in Java. I have the following problem: "Error: Could not find or load main class FirstClass"

 

I have done the following things in cmd:

h:cd h:My Namejavac FirstClass.javajava FirstClass

after the last command I get this error:"Error: Could not find or load main class FirstClass".

I have the Java SE Developer Kit 7u45 from here: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

 

How can I solve this? What I'm missing?

Thanks in advance for your help!

Link to comment
Share on other sites

Did you compile successfully? You started with a FirstClass.java file which was actually a text file. Then you ran...

 javac FirstClass.java

Did this produce a file named FirstClass.class?

 

The file FirstClass.java is a text file and should contain something like...

class FirstClass {    public static void main(String[] args) {        System.out.println("Hello World!"); // Display the string.    }}

See...

 

http://docs.oracle.com/javase/tutorial/getStarted/cupojava/win32.html

 

I would also suggest that you download the Netbeans IDE.

Edited by davej
Link to comment
Share on other sites

Yes, the javac command seems to be working, but when I try java FirstClass it gives me that error. The file name is FirstClass.java.

The file contains the following code:

class FirstClass{	public static void main(String args[])	{/*		for (int i=4;i<=20;i++)			if ((prim(i)==true) &&(prim(i-2))==true)			System.out.println(i);			int  g = Integer.parseInt(args[0]);		if(div(g) == g){			System.out.println("Numarul este perfect");		}else if(div(g) > g){			System.out.println("Numarul este supralicitat");		}else{			System.out.println("Numarul este sublicitat");			}		//System.out.println(div(Integer.parseInt(args[0])));		//div(Integer.parseInt(args[0]));*/	desen(Integer.parseInt(args[0]),Integer.parseInt(args[1]));	}	static int fact(int n)	{		int rez=1;		for(int i=1;i<=n;i++)		rez=rez*i;		return rez;	}	static boolean prim (int n){		for (int i=2; i<=n/2; i++)			if (n%i ==0) return false;		return true; }	static int div(int nr){		int v=0;		for(int i=1;i<nr;i++){			if(nr%i==0){v=v+i;}			}		return v;		}	static void desen(int w, int h){		for(int j=1;j<=h;j++){					for(int i=1;i<=w;i++){						if(w != i){							System.out.print("*");						}						else if(w == i){							System.out.println("*");						}					}		}	}}

The code is working, I have written this on a school computer and it was working, but on my home computer I have this problem...

Link to comment
Share on other sites

I am using a pc with windows 7 (32 bit).

Yes, the class name it is the same with the file name and I use the exact capitalization.

This is a picture with my command prompt after I write javac and java commands:

2cfp8xi.jpg

Link to comment
Share on other sites

And the capitalization is exact inside the .java file? You downloaded dk-7u45-windows-i586 ?

 

What do you get when you enter java -version?

 

The java code you posted above does produce an error if you don't supply the two required integer arguments, but it is a different type of error.

Edited by davej
Link to comment
Share on other sites

Yes, the class name inside .java file is exactly the same.

The downloaded and installed file it is this one jdk-7u45-windows-i586

This is what I get if I enter java -version:

 

java version "1.7.0_45"

Java SE Runtime Environment (build_1.7.0_45-b18)

Java HotSpot Client VM (build 24.45-b08, mixed mode, sharing)

Link to comment
Share on other sites

Ok, so where did java get installed? You mention drive H: above. What if there is some really old java installed somewhere else like maybe on some other drive? Try again using the full path for javac and java

Link to comment
Share on other sites

I uninstalled java from Control Panel > Programs and Features and installed it again, but I still have the same problem.

I checked, and there isn't any other java version.

About the drives, I have the C: drive with the operating system (java is installed in Program Files folder) and I have the H: drive with my java files saved in a folder.

Edited by JustMike
Link to comment
Share on other sites

If you've checked your path and there is nothing strange there, and you've tried using the full path to the known good executables then I've run out of ideas. You would have to ask a real java guru on the Oracle forum. You could try installing the Netbeans IDE in the hope that it might detect and correct whatever is wrong.

 

It could be a problem with something like the classpath, which I don't really understand...

http://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html

Link to comment
Share on other sites

The path and the classpath are set, but still doesn't work. I have tried with NetBeans but the problem is still there....

Thanks for your help, I will continue to search for a solution and when I will find one I will post it here.

___________

Edit:

I found the error, in the enviromental variables (Stsrem Properties>Advanced tab) there was another path set (something about nvidia) in System variables windows, I just deleted that and now I can run the files after I compile.

Edited by JustMike
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...