如何使用buildJdtProject在ant4eclipse构建中启用调试信息?

时间:2013-05-27 06:53:31

标签: java debugging ant4eclipse

我尝试过设置不同的属性和属性(debug =“true”),但它没有用。

这是来自我们的build.xml(只显示与构建步骤相关的部分):

<!-- Environment holen -->
<property environment="env" />

<!-- Target: all -->
<target name="all" depends="build, test, export">
</target>

<!-- Target: build -->
<target name="build">
    <ant4eclipse:executeProjectSet workspaceDirectory="${env.WORKSPACE}" teamprojectset="${env.WORKSPACE}\${env.JOB_NAME}\projectSet.psf">
        <ant4eclipse:forEachProject filter="(executeProjectSet.org.eclipse.jdt.core.javanature=*)">
            <buildJdtProject workspaceDirectory="${env.WORKSPACE}" projectName="${executeProjectSet.project.name}" targetLevel="1.6" />
        </ant4eclipse:forEachProject>

    </ant4eclipse:executeProjectSet>
</target>

详细说明: 一个内部项目由大量的类和一些应用程序组成,所有这些都是用Java编写的。当从Eclipse中启动时,一切运行得很好。

在每次提交到SVN存储库之后,在我们的Hudson安装上使用ant4eclipse构建项目,如果测试通过,则会自动创建zip并将其复制到文件服务器,只需解压缩并启动提供的启动批处理脚本即可使用

上周,一位同事告诉我,文件服务器的版本对他不起作用。我检查并能够重现问题 - 从数据库加载数据不起作用。日志/控制台中没有显示异常,我不知道出了什么问题。从eclipse(相同的vmarg,相同的JVM等)开始时,一切都有效。

尝试连接调试器时,似乎没有调试信息(“缺少行号”等)。所以我现在需要找出如何说服ant4eclipse包含调试信息。

1 个答案:

答案 0 :(得分:0)

与此同时,我发现了自己如何做到这一点:我添加了一个默认的编译器选项文件(属性defaultCompilerOptionsFile):

<!-- Target: build -->
<target name="build">
    <ant4eclipse:executeProjectSet workspaceDirectory="${env.WORKSPACE}" teamprojectset="${env.WORKSPACE}\${env.JOB_NAME}\projectSet.psf">
        <ant4eclipse:forEachProject filter="(executeProjectSet.org.eclipse.jdt.core.javanature=*)">
            <buildJdtProject 
                workspaceDirectory="${env.WORKSPACE}" 
                projectName="${executeProjectSet.project.name}" 
                targetLevel="1.6" 
                defaultCompilerOptionsFile="compilerOptions.prefs"/>
        </ant4eclipse:forEachProject>

    </ant4eclipse:executeProjectSet>
</target>

编译器选项文件只是工作区内.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.core.prefs的副本。确保在文件中设置所需的选项:

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

如果您创建的编译器选项文件只包含上面的3行,我还没有测试它是否有效。