javac -classpath
Java环境变量,path是必需的,设置为%JAVA_HOME%\bin;classpath不是必需的。
设置了一个路径为classpath,就可以在任何路径下使用java命令执行classpath路径下的.class文件。
所以如果不设置任何路径为classpath的话,就只能在想要运行的.class文件的当前路径下执行java命令。
javac-classpath的使用:
javac:如果当前你要编译的java文件中引用了其它的类(继承等),但该引用类的.class文件不在当前目录下,这种情况下就需要在javac命令后面加上-classpath参数,通过使用以下三种类型的方法来指导编译器在编译的时候去指定的路径下查找引用类。
例:Hello.java引用了junit.jar,
Hello.java位于C:\Java\;
junit.jar位于C:\junit3.8.1\;
(1)绝对路径:javac-classpathC:\junit3.8.1\junit.jarHello.java
(2)相对路径:javac-classpath..\junit3.8.1\Junit.jarHello.java
(3)系统变量:javac-classpath%CLASSPATH%Hello.java
(注意:%CLASSPATH%表示使用系统变量CLASSPATH的值进行查找,这里假设Junit.jar的路径就包含在CLASSPATH系统变量中)
总结
(1).何时需要指定路径:当你要编译的类所在的目录和你执行javac命令的目录不是同一个目录时,就需要指定源文件的路径(CLASSPATH是用来指定.class路径的,不是用来指定.java文件的路径的)
路径可用绝对路径、相对路径或者%CLASSPATH%
(2).何时需要使用-classpath:当你要编译或执行的类引用了其它的类,但被引用类的.class文件不在当前目录下时,就需要通过-classpath来引入类