【问题标题】:javac -sourcepath option not workingjavac -sourcepath 选项不起作用
【发布时间】:2018-03-18 05:22:15
【问题描述】:

我在C:\,我想从这里编译我的Bingo.java 源文件,它位于C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\bingo\Bingo.java。如果我正确理解-sourcepath,它用于告诉java 编译器在哪里寻找.java 源文件。

我尝试了以下设置-sourcepath,但似乎没有一个工作:

C:\>javac -sourcepath C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\
bingo\Bingo.java

C:\>javac -sourcepath C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\bingo\Bingo.java

即使是这些...

C:\>javac -sourcepath C:\Users\Devashish\Documents\NetBeansProjects\Bingo\srcbingo\Bingo.java

C:\>javac -sourcepath C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\bingoBingo.java

以上都给出了 File not found 错误。

我想提一下,在同一位置不使用 -sourcepath 进行编译也可以正常工作:

C:\>javac C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\bingo\Bingo.java

我相信我在这里做了一些非常愚蠢的事情,但无法弄清楚。任何帮助将不胜感激。

【问题讨论】:

    标签: java compilation javac


    【解决方案1】:

    -sourcepath 定义应该在您的项目中的其他 .java 文件。例如:

    你有 "C:\A.java":

    public class A {
        public static void main(String args[]) {
           B.hello();
        }
    }
    

    还有 C:\dir\B.java:

    public class B {
        public void hello() {
            System.out.println("Hello!");
        }
    }
    

    在这种情况下,当您编译和运行时,您需要 C:\dir\B.java 的源路径。

    编辑:类路径 (-cp) 用于 .class,源路径 (-sourcepath) 用于 .java

    【讨论】:

    • 我想我明白了。我在.....\src\bingo\utils\Utils.java 有另一个源文件,可以从Bingo.java 中访问。现在可以使用javac -sourcepath C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\bingo\utils\ C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\bingo\Bingo.java
    • 太棒了!你了解-sourcepath! PS:我认为你可以做 -sp。
    • javac 中没有 -sp 的变体。您可以使用 --source-path 或 -sourcepath。
    猜你喜欢
    • 2011-01-27
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-22
    相关资源
    最近更新 更多