由于java的编译和运行时路径有问题,而且晚上摆弄lucene时路径设置不正确,所以庭院很久才注意到这个问题。
1、java编译器和java虚拟机对类路径的理解不同。
javac编译器始终在当前目录中搜索文件,但java虚拟机仅在类路径中有“.”目录时才显示当前目录。
如果未设置类路径,则javac和java虚拟机没有问题,因为缺省类路径包含“.”目录。 如果设置了类路径但未设置“.”目录,则可以执行以下操作
中进行编译,但无法执行。
java虚拟机首先查找jre/lib和jre/lib/ext目录,如果找不到,则查找类路径。
2、设置班级路径。
类路径可以用-classpath指定。
javac-class path/home/user/project/Java class 3360./user/local/common/SQL.jar my dog.Java
在windows上,可以通过以下方式指定类路径
javac-class path d :/Java /项目/Lucene-3.0
.2/lucene-core-3.0.2.jar; org/Apache/Lucene/demo/indexfiles.Java
执行路径。
Java-class path d :/Java/project/Lucene-3.0
.2/lucene-core-3.0.2.jar; org/Apache/Lucene/demo/indexfiles
也可以使用set CLASSPATH来改变环境变量。
在windows上可以设置类路径
设置在dos下。
设置类路径=d :/user/class;
可以在shell中设置linux
导出类路径=/home/user/class :
3、编译时的注意事项
|路线
|_com/
|___bianjw/
|______business/
| _ _ _ _ _ _ _ _ _ deal client.Java
如果类似上面的包结构com.bianjw.business,则在编译时请确保在根目录中运行javac
例如javaccom/bian jw/business/deal client.Java
运行时可以使用javacom.bian jw/business.deal client