【发布时间】:2019-07-25 19:38:36
【问题描述】:
我正在尝试从命令行运行 java 和 javac,但在为 javac sdk 工具设置 CLASSPATH 时遇到问题。
我已经通过windows环境变量设置成功添加了CLASSPATH变量,这适用于java命令。我能够从命令行中的任何目录执行类文件。但是,当尝试使用 javac 命令时(其中 .java 文件位于同一个 CLASSPATH 目录中),我收到了找不到文件的错误消息。
我的 CLASSPATH 变量设置为:
C:\Users\ejovo\OneDrive\Documents\Coding\Java>
这里有 3 个例子来说明我的意思。
C:\>javac MyFirstApp.java
javac: file not found: MyFirstApp.java
Usage: javac <options> <source files>
use -help for a list of possible options
C:\Users\ejovo\OneDrive\Documents\Coding\Java>javac MyFirstApp.java
C:\>java MyFirstApp
Hello World
我们看到 java 命令可以从任何地方运行,而 javac 仍然必须从 .java 文件所在的目录运行。
我尝试使用 -cp 和 -classpath 选项设置 javac CLASSPATH,但没有任何运气:
C:\>javac -cp C:\Users\ejovo\OneDrive\Documents\Coding\Java
javac: no source files
Usage: javac <options> <source files>
use -help for a list of possible options
C:\>javac -classpath C:\Users\ejovo\OneDrive\Documents\Coding\Java
javac: no source files
Usage: javac <options> <source files>
use -help for a list of possible options
而且我已经设置了一个 PATH 变量,可以让 java 和 javac 命令正确运行
我也尝试使用 -sourcepath 参数更改源路径:
C:\>javac -sourcepath C:\Users\ejovo\OneDrive\Documents\Coding\Java
javac: no source files
Usage: javac <options> <source files>
use -help for a list of possible options
尽管如此,我显然确实有一个 .java 源文件:
Directory of C:\Users\ejovo\OneDrive\Documents\Coding\Java
07/25/2019 03:08 PM <DIR> .
07/25/2019 03:08 PM <DIR> ..
07/25/2019 03:29 PM 425 MyFirstApp.class
07/24/2019 06:40 PM 127 MyFirstApp.java
2 File(s) 552 bytes
2 Dir(s) 57,735,630,848 bytes free
如果有人有任何其他想法,请告诉我!
【问题讨论】:
-
我相信这个问题在这里得到了解答,stackoverflow.com/questions/6623161/…
-
CLASSPATH 仅用于查找类文件,不用于查找 Java 源文件。