我在设置javac的类路径时遇到问题

时间:2019-07-25 19:38:36

标签: java cmd

我正在尝试从命令行运行java和javac,但是我无法为javac sdk工具设置CLASSPATH。

我已经通过Windows环境变量设置成功添加了CLASSPATH变量,这对java命令有效。我可以从命令行中的任何目录执行类文件。但是,当尝试使用javac命令(.java文件位于同一CLASSPATH目录中)时,我收到未找到该文件的错误消息。

我的CLASSPATH变量设置为:

C:\Users\ejovo\OneDrive\Documents\Coding\Java>

这里是我的意思的三个例子。

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参数更改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

让我知道是否还有其他想法!

1 个答案:

答案 0 :(得分:1)

看来您在这里有点困惑。 CLASSPATH用于告诉java和javac程序在哪里可以找到已编译的.class和.jar文件。

您正在尝试使用CLASSPATH使javac定位SOURCE文件,该文件不起作用。

请参阅此处: https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html

您可能希望检查-sourcepath参数。