这是我的情景:
我用Ant 1.7构建A和B.
<javac srcdir="${foo}" destdir="${bar}" source="1.5" target="1.5">
<include name="**/*.java"/>
<exclude name="**/test/**/*.java"/>
</javac>
Run Code Online (Sandbox Code Playgroud)
然而.class文件在A和B上的大小不同,更不用说CRC了.是应该这样吗?还是我错过了一些明显的东西?
虽然你可能明确设置source="1.5"
和target="1.5"
,但这不是控制你正在运行javac编译器的哪个JDK版本.
因此,在具有JAVA_HOME
/ PATH
指向JDK 1.6 的工作站上,您具有基于1.6 javac构建的类文件,该文件应与1.5 JRE兼容.
然而,source="1.5"
和target="1.5"
只指定的语法/语言功能的兼容性; 如果您依赖于仅在1.6 JRE中可用的某些类,那么在使用source="1.5"
和target="1.5"
使用1.6 javac 时,您将不会收到任何编译器警告.
要解决最后一点,您需要告诉<javac>
Ant任务使用不同的任务bootclasspath
.
归档时间: |
|
查看次数: |
195 次 |
最近记录: |