Running Programs

     

After you have compiled your source files into bytecode using the javac command, you are ready to execute them. To do so, you need to follow these directions.

Navigate to the directory that stores your top-level package. For the examples in this book, that is a directory called C:\garage\classes. If you are using an IDE, your classes directory might be different. For example, an Eclipse project might store files at C:\eclipse\workspace\garage\classes. In any case, it is the directory that contains your packages, and where you specify the compiler to output code.

Run the java command, passing it the fully qualified name of your class (including all of the package names ).

Make sure to use the . separator for packages ”not your system file separator (/ on Linux and \ on Windows). This is a common mistake, because you have to supply the file separator when compiling.

For example, here is how to run the CommonFileTasks.class program:

 

 C:\garage\classes>java net.javagarage.demo.MyProgram 

Make sure that you leave off the .class extension. That can be hard to remember because you have to include the .java extension when compiling.

Make sure that the class you invoke on the command line is the one that contains your public static void main(String...args) method. This is the method that is called when the JVM starts your program, and it will tell you if it cannot be found.

If you see this error,

 

 Exception in thread "main"      java.lang.NoClassDefFoundError: MyProgram 

it means that the java runtime program cannot find your bytecode file, MyProgram.class.

The Java runtime will look for your bytecode file in the present working directory. So if your .class file is in C:\garage\classes, change to that directory using the cd < dirname > command on Windows and Linux. This is often not convenient , however. To remedy the problem, you can set the classpath system variable.



Java Garage
Java Garage
ISBN: 0321246233
EAN: 2147483647
Year: 2006
Pages: 228
Authors: Eben Hewitt

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net