PATH and CLASSPATH in Windows7 7 / Eclipse
So I would like to set PATH and CLASSPATH system variables so I can use javac and java commands in the command line. I can just compile and run java programs in eclipse but I would also like to be able to run them through command line.
This is where I have Java installed:
开发者_如何学编程C:\Program Files (x86)\Java
jdk1.6.0_20
jre6
And this is where eclipse stores my Java projects:
D:\java-projects
HelloWorld
bin
HelloWorld.class
src
HelloWorld.java
I have set up the PATH and CLASSPATH variables like this:
PATH: C:\Program Files (x86)\Java\jdk1.6.0_20\bin
CLASSPATH: D:\java-projects
But it doesn't work. When I write:
java HelloWorld
Or:
java HelloWorld.class
I get error like this:
Exception in thread “main” java.lang.NoClassDefFoundError: HelloWorld
The error is longer, that's just the first line.
How can I fix this? I'm mainly interested to be able to run compiled .class programs from the command line, I can do compiling in the eclipse.
Your classpath should point to "D:\java-projects\HelloWorld\bin".
Alternatively, you can specify your classpath with the "-cp" parameter instead of using an environment variable:
java -cp D:\java-projects\HelloWorld\bin HelloWorld
You need to set the classpath to
d:\java-projects\bin
Currently you haven't got the "bin" part.
Note that java HelloWorld.class will never work - it's after the class name, not the file name.
Your CLASSPATH doesn't point to the directory where the class file is located.
Your classpath should point to D:/java-projects/bin
But instead I would invite you to use some build tools in order to manage your projects. Have a look at ANT, Maven, Gradle.
Your PATH environment variable should include the bin directory of your JDK installation directory. So you should add C:\Program Files (x86)\Java\jdk1.6.0_20\bin to your PATH.
It's not advisable to set a permanent CLASSPATH environment variable, because it is a global setting that affects all Java programs that you run on your machine. If you don't set CLASSPATH, Java will by default only look in the current directory.
Instead of setting CLASSPATH, use the -cp or -classpath option on the java command, for example:
java -cp D:\java-projects\HelloWorld\bin HelloWorld
If you don't want to type that every time you want to run your program, put the command in a batch file (for example hello.bat), which you can then run by simply typing hello.
加载中,请稍侯......
精彩评论