我尝试过设置不同的属性和属性(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包含调试信息。
答案 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行,我还没有测试它是否有效。