JAVAC AND JAVA COMMANDS

Royce Roy

Total Post:149

Points:1043
Posted by  Royce Roy
Java 
 796  View(s)
Ratings:
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?
  1. Mayank Tripathi

    Post:397

    Points:3117
    Re: javac and java commands

    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.

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!