【问题标题】:javac -cp parameter's error "javac: file not found:"javac -cp 参数的错误“javac:找不到文件:”
【发布时间】:2025-12-20 17:30:06
【问题描述】:

我的问题是关于基本的 java 命令“javac”之一。我的桌面上有一个“.java”文件。我已经安装了 JDK 7 并将路径变量添加到环境变量中。这是“环境变量”的屏幕截图。 http://s13.postimage.org/n0oc89gp3/Untitled.png

当我在 C:\Users\JOXWH\Desktop 工作时没有问题。如;如果我在这里javac JavaApplication2.java 尝试此代码。我的桌面上有 .class 文件。但是,如果我尝试使用带有 -cp 参数的另一个目录中的 javac(例如 javac -cp C:\Users\JOXWH\Desktop JavaApplication2.java),我会遇到这样的错误:http://postimage.org/image/4aps9ntlr/

【问题讨论】:

    标签: java compilation classpath javac


    【解决方案1】:

    不需要 -cp javac C:\Users\JOXWH\Desktop JavaApplication2.java

    会起作用

    【讨论】:

    • 是的,代码可以工作 "javac C:\Users\JOXWH\Desktop\JavaApplication2.java" 。但是 -cp 有什么问题?
    • 你应该在 -cp 之后指定类路径,例如: javac -cp 。 JavaApplication.java 将工作,因为它将当前目录设置为类路径。 (点表示当前目录)
    • 我认为你错了。可以将它与 javac 一起使用。这里是 javac 选项:s9.postimage.org/y1uvinqu7/Untitled.png
    • 你可以将 -cp 与 javac 一起使用,但你应该在此之后提及一个路径
    • 那么我如何编辑这段代码,我认为它包括 -cp 参数后的路径:"javac -cp C:\Users\JOXWH\Desktop JavaApplication2.java"
    【解决方案2】:

    -cp 告诉编译器在哪里寻找您正在编译的 .java 文件所依赖的 other 类,而不是在哪里寻找 java 源文件本身。您需要完整提供 java 文件的适当路径。

    除了最简单的情况外,源文件位置和所需的类位置都会不同,例如

    javac -cp classes;lib\* -d classes src\com\example\MyClass.java
    

    将从src 下获取一个.java 文件,该文件依赖于classes 下的类和lib 下的jar 文件中的类,编译它,并将生成的类文件放在classes 下的目录中匹配类的包名。

    【讨论】:

      最近更新 更多