2011-11-14 58 views
2

我试图让一个Ant构建文件来生成相同的类文件作为Eclipse编译器Eclipse编译器设置对应的ant javac选项是什么?

org.eclipse.jdt.core.compiler.debug.lineNumber=generate 
org.eclipse.jdt.core.compiler.debug.sourceFile=generate 
org.eclipse.jdt.core.compiler.debug.localVariable=generate 
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 

其中前三个对应(我希望!),以debuglevel="vars,lines,source"在javac任务:

<javac includeantruntime="false" srcdir="${src.dir}" destdir="${build.dir}" debug="true" debuglevel="vars,lines,source" target="1.5" > 
    <classpath refid="master-classpath" /> 
</javac> 

最后一个呢?

回答

4

对于前三个,我认为所有你需要告诉Ant的javac是debug="true"。默认情况下,您将获得变量,行和源。明确指定它们也很好。

最后,这是Eclipse JDT编译器特有的。我不认为其他编译器会优化未使用的局部变量。当然,由于删除了未使用的局部变量,我从来没有因调试器不合适而陷入困境。

您是否在Ant build中使用了JDT编译器using the Ant javac adapter?除非你这样做,否则我不认为你可以保证两种环境之间完全相同的类文件。但是,我有点怀疑有这样一个级别相同的要求。

+0

谢谢,我试图用jenkins生成一个耳朵,它尽可能接近我们使用Export-> EAR从eclipse生成的耳朵。请参阅http://stackoverflow.com/questions/8091753/class-cast-exceptions-with-ant-jenkins-generated-ear-on-websphere-6-1 – blank

+0

提及Eclipse-Ant javac适配器! –

+0

我已经回答了这个问题。我会怀疑classpath而不是编译器问题。 – sudocode

相关问题