Home > DeveloperSection > Forums > javac and java commands
Royce Roy
Royce Roy

Total Post:134

Points:938
Posted on    April-30-2015 12:48 AM

 Java Java 
Ratings:


 1 Reply(s)
 489  View(s)
Rate this:
I noticed something regarding the java command that I wanted to ask about. I created a temp folder on the root of C:\ then I created two more folders called packagea and packageb. In those folders were java files called ClassA and ClassB respectively. I compiled them by running javac packagea/ClassA.java packageb/ClassB.java 

So then I tested to make sure it worked by running java packageb.Classb - which is where I coded the main method - and it worked. OK, good so far. 

But then.. 

I changed my working directory to C:\temp\packageb and then attempted to run java ClassB and that does not work. I get: 

Error: Could not find or load main class ClassB 

Could anyone explain what is happening here?


Mayank Tripathi
Mayank Tripathi

Total Post:397

Points:3117
Supported
Posted on    April-30-2015 7:46 AM

I would need to see the code to be sure, but you probably have a package statement at the beginning of your program. That means you have to run the program from the "root" of the project or else Java can't find the class.

package packageB; says "look in the folder packageB" for the class. import packageA.ClassA; says "you can find ClassA in the folder packageA". So you need to launch the program from a folder that can see both packageA and pacakgeB, or you need to have a classpath entry to each folder.

Don't want to miss updates? Please click the below button!

Follow MindStick