我希望有一些人谁看见了,有,我有,现在与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是的,但我可能是错的。
我使用以下环境中经历的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#384757 ,其中包括一种变通方法允许您使用新的JDK。
- 下载
org.apache.xalan
和org.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)中分配而不使用轨道插件解决方法。
请尽量去Preferences->Ant->Runtime
,并设置Ant主...有你的蚂蚁安装文件夹。 默认情况下,Eclipse附带并使用Ant贡献的插件。
如果需要,您还可以添加额外的有罐子,文件夹。
它指出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"
我已经使用了几个不同的JRE / JDK设置(所有1.6和1.7)与ineach问题的尝试。
这显然不是一个完美的解决方案,但我似乎并没有碰到这些问题如果JUnit的报告是在构建文件“原始” - 不是裹着目标。
解决方法显然差在目标是Ant的一个重要方面,但有时用于报告构建目标/依赖不那么关键任务。 这与其说是对我的一个问题却是因为我跑在kindof一次性时尚,而不是作为构建的一部分,这些报告。
希望它可以帮助别人也希望这得到妥善固定。
我有一个类似的问题。 我不得不为我的项目这个组合:
Java的:jdk1.6.0_45蚂蚁:日食\插件\ org.apache.ant_1.8.2.v20120109-1030 Java编译器:1.6
我改变了我的Java来JRE6和它的工作精绝
根据该文件在这里和这里 ,Ant任务, <JUnitReport>
需要Apache的Xalan 2.4.1+或Xalan的XSLT。 他们可以从外部库中获得, xalan.jar 。 请确保您有这些依赖关系。