繁体   English   中英

无法让javac自动重新编译源文件

[英]Unable to get javac to automatically recompile a source file

我正在尝试使用javac命令行选项,以了解-sourcepath-classpath选项。 当我运行javac ,为它尝试了四种不同的命令行选项,我无法获得重新编译的.class文件。

这是我的文件夹结构。 请注意,由于测试,Test.java文件位于“bat”文件夹内,这是一个奇怪的位置。

projects \ prj1 \ bat \ bat.bat
                        Test.java
                        Test.class   <--- unable to obtain recompiled file.

                  src \ Main.java
                        Main.class

我的两个.java测试文件的内容是:

// Main.java, located in the src folder
class Main {
    public static void main(String[] args) {
        new Test();
    }
}

// Test.java, located in the bat folder
class Test {}

关于在命令提示符下执行javac ,这里有四个我尝试过的选项。 我从名为bat.bat的批处理文件中运行这些命令,该文件位于“bat”文件夹中。

javac ..\src\Main.java                      (no sourcepath, no cp)
javac -sourcepath . ..\src\Main.java        (sourcepath)
javac -cp . ..\src\Main.java                (cp)
javac -sourcepath . -cp . ..\src\Main.java  (sourcepath, cp)

在上面的所有这些javac命令中,我无法获得Test.java文件的重新编译的.class文件。 这是因为我没有编辑Test.java文件,因为最初编译它? 请注意,我没有设置CLASSPATH环境变量。 谢谢。

如果类文件已存在于目标/输出文件夹中,则javac将仅重新编译源java文件(如果已从类文件的日期/时间开始修改)。

如果要重新编译源文件,请先调用* .class文件,然后再调用javac

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM