在CentOS 5 linux上使用一些基本的Java应用程序,我的classpath
设置为指向home/pathToJava/bin
,其中包含javac
和java
我在.java
中有home/pathToFolderA/src
文件
和home/pathToFolderB/gen-java
当我在javac
中运行java
和home/pathToFolderA/src
时,一切正常
但是当我从javac
上的home/pathToFolderB/gen-java
中运行fileName.java
时,出现文件未找到错误,特别是
javac: file Not found: fileName.java
Usage: javac <options> <source files>
为什么会这样呢?
感谢所有帮助
最佳答案
您不应该将类路径设置为指向您的JDK bin目录-而是应该是 PATH 环境变量,它为类路径提供了不同的用途。 (classpath定义了一个包含已编译的Java .class代码的jar和目录的列表; PATH变量定义了一个路径列表,在当前目录中找不到它们时,shell需要查找和定位要执行的程序才能在其中查找它们。例如zip
的类型-将在PATH
中定义的所有目录中查找,并找出zip
程序位于/usr/bin
下)
其次,如果要从两个目录编译源,则需要指定:
home/pathToFolderA/src
和home/pathToFolderB/gen-java
)总结起来,编译起来会像这样:
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