在Eclipse JUnit的蚂蚁生成错误(ant junit build error inside

2019-06-24 08:19发布

我希望有一些人谁看见了,有,我有,现在与Ant脚本中的问题的解决方案。 我使用Ant脚本编译日食我的Java代码,但日食一直给我这些错误

[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

我的环境设置:

  • Windows 7的
  • Eclipse的3.6 RC2 32位
  • JDK 1.6更新32 32位
  • 蚂蚁1.7.2
  • JUnit 4中(Eclipse中):在我的项目罐子文件夹我的JUnit-DEP - 4.8.2.jar

有一点要提的是,如果我使用相同的Ant脚本编译外食我的代码,一切都运行得很好,但它并没有在Eclipse中工作。 我试图谷歌上面的样式表,上面的错误,但这并没有帮助我很多。 我的猜测是不知何故,内正在使用的Eclipse版本不同的JUnit是的,但我可能是错的。

Answer 1:

我使用以下环境中经历的Eclipse中的同一个样式表的问题:

  • Windows 7的64位
  • 蚀3.7.2(SR2)的32位
  • JDK 1.6.0_32 32位
  • 蚂蚁1.7.2(从Eclipse中)或1.7.4(从Apache时,电流)
  • Junit的4.8.1(项目依赖性)

在使用JDK 1.6.0_31我生成成功,所以才出现了问题样式与Java 6构建32.释放我找不到了Apache的Bugzilla系统中的任何报告,介绍了一个Ant或Java错误。 如果它可以帮助别人,这些都包括在建32的bug修复: http://www.oracle.com/technetwork/java/javase/2col/6u32bugfixes-1579554.html

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

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

Eclipse Ant的失败开始在Java 6u32和Java7u4引入了缺陷。 佐贺报道在Eclipse中的Bug#3847​​57 ,其中包括一种变通方法允许您使用新的JDK。

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

我用下面的目录,是因为它们在默认情况下和JDK版本独立定义:

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

问题的根源报道甲骨文,但这个错误是不再在他们的bug数据库 。 我不看好它会永远是固定的。

更新:固定的Apache Ant中的问题

Apache的已固定问题的根源; 它可以在Ant 1.9.0版本(可Apache的错误#54641 )。

更新:蚂蚁1.9.1定为Eclipse 4.4

如@OliBlogger所提到的,固定的Apache Ant中1.9.1问题的根源。 Eclipse的计划更新在Eclipse 4.4的Ant 1.9.1 (或许更早,Eclipse的纠错系统还没有版本4.3.x里程碑)。

更新:在Eclipse 4.4修正

我证实,我现在构建成功使用Java JDK 7建造67和Ant 1.9.2与Eclipse 4.4.1(Windows 7)中分配而不使用轨道插件解决方法。



Answer 2:

请尽量去Preferences->Ant->Runtime ,并设置Ant主...有你的蚂蚁安装文件夹。 默认情况下,Eclipse附带并使用Ant贡献的插件。

如果需要,您还可以添加额外的有罐子,文件夹。



Answer 3:

它指出https://bugs.eclipse.org/bugs/show_bug.cgi?id=384757#c18 ,为了这个修复是蚂蚁1.9但不幸的是它似乎是现在的sechduled为1.9.1。 因此,在平均时间这个工作对我来说。

您可以使用样式表http://svn.apache.org/viewvc?view=revision&revision=1453414 。 然后“stledir”添加到报表标签。 例如: styledir="c:\utils"



Answer 4:

我已经使用了几个不同的JRE / JDK设置(所有1.6和1.7)与ineach问题的尝试。

这显然不是一个完美的解决方案,但我似乎并没有碰到这些问题如果JUnit的报告是在构建文件“原始” - 不是裹着目标。

解决方法显然差在目标是Ant的一个重要方面,但有时用于报告构建目标/依赖不那么关键任务。 这与其说是对我的一个问题却是因为我跑在kindof一次性时尚,而不是作为构建的一部分,这些报告。

希望它可以帮助别人也希望这得到妥善固定。



Answer 5:

我有一个类似的问题。 我不得不为我的项目这个组合:

Java的:jdk1.6.0_45蚂蚁:日食\插件\ org.apache.ant_1.8.2.v20120109-1030 Java编译器:1.6

我改变了我的Java来JRE6和它的工作精绝



Answer 6:

根据该文件在这里和这里 ,Ant任务, <JUnitReport>需要Apache的Xalan 2.4.1+或Xalan的XSLT。 他们可以从外部库中获得, xalan.jar 。 请确保您有这些依赖关系。



文章来源: ant junit build error inside eclipse