日食内部的蚂蚁杜尼特构建错误

2022-09-02 04:01:40

我希望有些人已经看到并解决了我现在在蚂蚁脚本中遇到的问题。我正在使用ant脚本在eclipse中编译我的java代码,但eclipse一直给我这些错误

[junitreport] Processing E:\workspace\DataOrchestrationDevelopment\DataOrchestration\Logs\jsreports\junit\html\TESTS-TestSuites.xml to C:\Users\u0160235\AppData\Local\Temp\null1503375679
[junitreport] Loading stylesheet jar:file:/E:/software/apache/apache-ant-1.8.2/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
[junitreport] : Error! The first argument to the non-static Java function 'replace' is not a valid object reference.
[junitreport] : Error! Cannot convert data-type 'void' to 'reference'.
[junitreport] : Fatal Error! Could not compile stylesheet
[junitreport] Failed to process E:\workspace\DataOrchestrationDevelopment\DataOrchestration\Logs\jsreports\junit\html\TESTS-TestSuites.xml

BUILD FAILED
E:\workspace\DataOrchestrationDevelopment\DataOrchestration\ant\developerbuild.xml:124: The following error occurred while executing this line:
E:\workspace\DataOrchestrationDevelopment\DataOrchestration\ant\QunitAntScript.xml:20: Errors while applying transformations: Fatal error during transformation

我的环境设置:

  • 视窗 7
  • 日食 3.6 RC2 32 位
  • JDK 1.6 更新 32 32 位
  • 蚂蚁 1.7.2
  • Junit 4(在 eclipse 中):在我的项目 jar 文件夹中,我有 junit-dep-4.8.2.jar

有一件事要提一下,如果我使用相同的蚂蚁脚本在eclipse外部编译我的代码,一切都很好,但它在eclipse内部不起作用。我试图谷歌上面的样式表上面的错误,但这对我没有多大帮助。我的猜测是,不知何故,在日食中使用了不同版本的junit,但我可能是错的。


答案 1

我在 Eclipse 中遇到了相同的样式表问题,我使用以下环境:

  • 视窗 7 x64
  • 日食 3.7.2 (SR2) 32 位
  • JDK 1.6.0_32 32 位
  • Ant 1.7.2(来自Eclipse)或1.7.4(来自Apache,当前)
  • Junit 4.8.1(项目依赖项)

我的构建在使用 JDK 1.6.0_31 时成功了,因此样式表问题似乎是 Java 6 build 32 发布时引入的 Ant 或 Java 错误。我在Apache的Bugzilla系统中找不到任何报告。如果它对某人有所帮助,这些是内部版本32中包含的错误修复:http://www.oracle.com/technetwork/java/javase/2col/6u32bugfixes-1579554.html

我目前的解决方法是使用Java 6 JDK build 31。

更新:使用较新的 JDK 的解决方法

Eclipse 内部的 Ant 故障始于 Java 6u32 和 Java7u4 中引入的缺陷。Eclipse Bug #384757 中报告了这个事件,包括一个允许您使用较新的 JDK 的解决方法。

  • Eclipse Orbit 项目下载 和 插件org.apache.xalanorg.apache.xml.serializer
  • 将它们复制到 Java 属性中列出的目录java.ext.dirs

我使用以下目录,因为它们是默认定义的,并且独立于JDK版本:

  • 在视窗上:C:\Windows\Sun\Java\lib\ext
  • 在 Mac 上:/Users/$USER/Library/Java/Extensions

已向 Oracle 报告了根本问题,但该 bug 已不再存在于其 bug 数据库中。我不乐观它会被修复。

更新:Apache修复了Ant中的问题

Apache已经解决了根本问题;它可能在 Ant 1.9.0 版本(Apache Bug #54641)中可用。

更新:Ant 1.9.1 计划在 Eclipse 4.4 中运行

正如@OliBlogger提到的,Apache修复了Ant 1.9.1中的根本问题。Eclipse计划在Eclipse 4.4中更新到Ant 1.9.1(也许更早,Eclipse bug系统还没有4.3.x里程碑)。

更新:在 Eclipse 4.4 中修复

我确认我的构建现在使用Java 7 JDK build 67和Ant 1.9.2与Eclipse 4.4.1(Windows 7)一起分发,而无需使用Orbit插件解决方法。


答案 2

请尝试去设置蚂蚁之家...到您的蚂蚁安装文件夹。默认情况下,eclipse 附带并使用 ant 贡献作为插件。Preferences->Ant->Runtime

如果需要,您还可以添加其他jar,文件夹。


推荐