0

我尝试设置不同的属性和属性(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 中启动时一切正常(相同的 vmargs、相同的 JVM 等)。

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

4

1 回答 1

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 行的编译器选项文件,我还没有测试它是否有效。

于 2013-05-29T07:38:00.147 回答