zel*_*ell 2 java javac recompile
我被告知它javac足够聪明,它不会重新编译.java,因为它.java有一个时间戳之前的时间戳.class.我发现它在我的机器中不能像那样工作,我在某处肯定是错的吗?
我P.java位于.../eg/access,P.java声明为一个访问包
eg
|- access
|- P.class
|- P.java
Run Code Online (Sandbox Code Playgroud)
然后,当我运行时javac P.java,每次重新编译,是正常还是我错了?
默认情况下,Javac每次都会重新编译所有内容.您观察到的行为是正确的,并且是设计的.
看起来您可以为此行为指定一个选项:
-Xprefer:{更新,源}
指定在为类型找到源文件和类文件时要读取的文件.(请参阅搜索类型).如果使用-Xprefer:newer,它会读取类型的源文件或类文件的较新版本(默认值).如果使用-Xprefer:source选项,则它将读取源文件.如果要确保任何注释处理器可以访问使用SOURCE保留策略声明的注释,请使用-Xprefer:source.
摘自:http://docs.oracle.com/javase/6/docs/technotes/tools/windows/javac.html
您可能也在考虑Eclipse的编译器,我非常确定它会进行渐进式编译 - 或者是ant中的javac任务,它足够聪明,能够找出这种情况.
| 归档时间: |
|
| 查看次数: |
1954 次 |
| 最近记录: |