无法让javac自动重新编译源文件
我正在试验无法让javac自动重新编译源文件,java,classpath,javac,Java,Classpath,Javac,我正在试验javac命令行选项,以便了解-sourcepath和-classpath选项。当我运行javac,尝试了四种不同的命令行选项后,我无法获得重新编译的.class文件 这是我的文件夹结构。请注意,由于测试的原因,Test.java文件位于“bat”文件夹中,这是一个公认的奇怪位置 projects \ prj1 \ bat \ bat.bat Test.java Test.class &
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
关于在命令提示符下执行javac
,下面是我尝试过的四个选项。我从名为bat.bat的批处理文件中运行了这些命令,该批处理文件位于“bat”文件夹中
在上面所有这些
javac
命令中,我无法为Test.java文件获得重新编译的.class文件。这是因为我在最初编译Test.java文件后没有编辑它吗?请注意,我没有设置CLASSPATH
环境变量。谢谢。如果目标/输出文件夹中已经存在类文件,javac
只会在源java文件自类文件的日期/时间以来被修改的情况下重新编译源java文件
如果要重新编译源文件,请先删除*.class文件,然后再调用
javac
我使用IDE,这样可以确保我的代码根据需要重新编译,而不必保存文件。只需键入代码并运行它。
// 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 ..\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)