Java eclipse内部的ant junit构建错误
我希望有一些人已经看到了我现在使用ant脚本时遇到的问题,并找到了解决方案。我正在使用ant脚本在eclipse中编译java代码,但eclipse一直给我这些错误Java eclipse内部的ant junit构建错误,java,eclipse,ant,junit,Java,Eclipse,Ant,Junit,我希望有一些人已经看到了我现在使用ant脚本时遇到的问题,并找到了解决方案。我正在使用ant脚本在eclipse中编译java代码,但eclipse一直给我这些错误 [junitreport] Processing E:\workspace\DataOrchestrationDevelopment\DataOrchestration\Logs\jsreports\junit\html\TESTS-TestSuites.xml to C:\Users\u0160235\AppData\Local\
[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
- Eclipse 3.6 RC2 32位
- JDK 1.6更新32位
- 蚂蚁1.7.2
- JUnit4(在eclipse中):在我的项目jar文件夹中有Junit-dep-4.8.2.jar
值得一提的是,如果我使用相同的ant脚本在eclipse外部编译代码,那么一切都可以正常工作,但在eclipse内部不起作用。我试着用谷歌搜索上面样式表上面的错误,但那帮不了我多少忙。我的猜测是,在eclipse中使用了不同版本的junit,但我可能错了 请尝试转到
首选项->Ant->Runtime
并设置Ant Home。。。这是您的ant安装文件夹的一部分。默认情况下,eclipse附带并使用ant作为插件
如果需要,您还可以添加额外的jar和文件夹。我在使用以下环境的Eclipse中遇到了相同的样式表问题:
- Windows 7 x64
- Eclipse 3.7.2(SR2)32位
- JDK 1.6.0_32位
- Ant1.7.2(来自Eclipse)或1.7.4(来自Apache,当前版本)
- JUnit4.8.1(项目依赖性)
- 从中下载
和org.apache.xalan
插件org.apache.xml.serializer
- 将它们复制到Java
属性中列出的目录中Java.ext.dirs
- 在Windows上:
C:\Windows\Sun\Java\lib\ext
- 在Mac上:
/Users/$USER/Library/Java/Extensions
然后将“stledir”添加到报告标签中。示例:
styledir=“c:\utils”
我尝试过使用一些不同的JRE/JDK设置(都是1.6和1.7),但每个设置都有问题
这显然不是一个完美的解决方案,但如果JUnit报告在构建文件中是“原始”的,而不是包装在目标中,我似乎不会遇到这些问题
很明显,目标是Ant的一个重要方面,但有时用于报告构建目标/依赖项的方法并不那么关键。这对我来说还不是什么大问题,因为我以一种一次性的方式运行这些报告,而不是作为构建的一部分
希望它能帮助别人,但也希望它能得到正确的修复。我也遇到过类似的问题。我的项目有这样的组合: Java:jdk1.6.0_45 Ant:eclipse\plugins\org.apache.Ant_1.8.2.v20109-1030 Java编译器:1.6
我将java改为JRE6,根据文档,它运行得非常好,Ant任务需要ApacheXalan2.4.1+或XalanXSLT。它们可以从外部图书馆获得。确保您有这些依赖项。谢谢您的快速回复。我将我的ant主页设置为ant安装文件夹,但这并不能帮助我解决这些错误。我还想知道是否需要为ant(在eclipse中运行)添加任何其他jar文件来解决这些文件?如果我真的需要添加更多的jar文件,这些文件会是什么?我会在哪里添加它们?在首选项中的相同位置。是的,我这样做了,但仍然不能解决问题。我在第一篇文章中提到的环境设置是我在eclipse设置中应用的。@Tuan——使用JDK1.6U31而不是32。我也有同样的问题,但这解决了它@泰勒,对不起,我没听到你的评论。它被“显示更多评论”链接隐藏。我仍然没有找到解决问题的真正方法。我向Eclipse报告了该错误:。另一个解决方案是在Eclipse之外执行ant脚本。这在不改变当前jdk的情况下对我有效。同样的问题也发生在我使用NetBeans时。我回到了JDK1.6.031。只需阅读您答案的更新(Apache在Ant中修复了问题。Apache已修复了根本问题;它可能在Ant1.9.0版本中可用(Apache Bug 54641))。这是个好消息。但是,该修复程序的目标版本是1.9.1。当前版本为1.8.4。