正确
@echo off
set CLASSPATH=.;E:\ht\demo.jar
set JAVA_CMD=java -cp %CLASSPATH% com.huangteng.demo.HelloWorld
%JAVA_CMD%
报错
@echo off
set CLASSPATH=.;E:\ht\demo.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
set JAVA_CMD=java -cp %CLASSPATH% com.huangteng.demo.HelloWorld
%JAVA_CMD%
错误: 找不到或无法加载主类 Files\Java\jdk1.7.0_67\lib\tools.jar;C:\Program classpath路径里面有空格
set JAVA_HOME=E:\IBM\WebSphere\AppServer\java 不会出问题
set JAVA_HOME=C:\Program Files\Java 就会出问题
java classpath path及其常见错误
- windows下classpath中不能有空格!而path中却可以有。这是因为,java中是不允许目录之间有空格的。
- 何时需要使用-classpath:当你要编译或执行的类引用了其它的类,但被引用类的.class文件不在当前目录下时,就需要通过-classpath来引入类
- 何时需要指定路径:当你要编译的类所在的目录和你执行javac命令的目录不是同一个目录时,就需要指定源文件的路径(CLASSPATH是用来指定.class路径的,不是用来指定.java文件的路径的)