在CentOS 5 linux上使用一些基本的Java应用程序,我已classpath设置为指向home/pathToJava/bin其中包含javac和java
classpath
home/pathToJava/bin
javac
java
我有.java文件home/pathToFolderA/src
.java
home/pathToFolderA/src
和 home/pathToFolderB/gen-java
home/pathToFolderB/gen-java
当我运行javac,并java在home/pathToFolderA/src一切完美
但是,当我运行javac从内home/pathToFolderB/gen-java上fileName.java我得到一个文件未找到错误,特别是
fileName.java
javac: file Not found: fileName.java Usage: javac <options> <source files>
为什么会这样呢?
感谢所有帮助
您不应将 类路径 设置为指向您的JDK bin目录-而是应该是 PATH 环境变量,它与类路径的作用不同。(classpath定义了包含已编译的Java .class代码的jar和目录的列表; PATH变量定义了路径的列表,外壳程序需要在其中查找和定位在当前目录中找不到它们时要执行的程序,因此,如果您例如zip- 类型- 它将查找其中定义的所有目录,PATH并找出该zip程序位于/usr/bin)。其次,如果要从这两个目录编译源,则需要指定:
zip
PATH
/usr/bin
总结起来,编译起来会像这样:
javac -d /home/pathToFolderWithResultsOfCompilation -classpath /path/to/some.jar:/path/to/another.jar home/pathToFolderA/src/*.java home/pathToFolderB/gen-java/*.java
并运行您的编译程序:
java -classpath /path/to/some.jar:/path/to/another.jar:/home/pathToFolderWithResultsOfCompilation full.name.of.your.Java