我有一个简单的maven2的java项目(JMS中继系统)。我们发布了第一个版本后,我们发现,我们花了更多的时间配置Maven比实际编码。

有关我们想清理构建过程,并有人建议迁移到建设者的下一个版本。所以我用正是这样做的任务。

根据在其网站上的文档我安装buildr(1.3.4)。然后从项目的根我输入的buildr命令,然后通知buildr创建基于我的pom.xml构建文件。经过加工的精细和编译所有的代码。一切都肉汁,直到buildr开始运行测试。这里是输出中:

Test framework error: taskdef class org.apache.tools.ant.taskdefs.optional.junit.JUnitTask cannot be found

显然指定的类是不是在我的类路径。然而,buildr文件说,所有需要的基本测试所需的项目都包括在内。他们的文档不说,他们需要的蚂蚁或任何特定的库蚂蚁的一个版本。虽然我已经安装了蚂蚁1.7.0(不包括在我的类路径不过)。

有没有人见过这个?


更新

我位于maven仓库臭名昭著蚂蚁可选罐子。包括在我的test.with选项并没有解决问题。

与--trace运行buildr命令提供此额外信息...

Tests failed!
/pathtoruby/buildr-1.3.4/lib/buildr/core/test.rb:455:in `run_tests'
/pathtoruby/buildr-1.3.4/lib/buildr/core/test.rb:199:in `initialize'
有帮助吗?

解决方案

发现问题......显然,有一个蚂蚁的junit.jar是必要的,但在我的本地库是什么原因它是由根,而不是我的本地用户帐户(OSX系统)所拥有。所以这是不是访问buildr。我删除的项目从我的本地库,并重新运行buildr(其下载所需要的物品)。


更新

另外这引起一些其它问题。看来,在我的本地库的几个其他项目有奇怪的权限。我最终只是我的归档存储库,让行家重建它。这解决了我的所有问题。我现在有一个很好的构建文件是25行代码相比,超过100行我以前的pom.xml文件。

其他提示

您得到这个错误,因为JUnitTask是不是在classpath。我不是很熟悉,所以Buildr不能说如果需要为你指定的JUnit罐或没有,但如果Buildr使用系统类路径,尝试添加JUnit来,看看会发生什么。

如果您确认您的构建将运行使用JUnit砍死到类路径中,你可以再尝试改变你的配置,直到它运行如你预期,或保留原样。

您可以张贴参考文献的相关部分?我没有看到任何东西(在我的网站非常简短的读数),上面写着包括所需的项目。

有没有可能是你还没有下载所有的宝石?如果你运行“宝石更新--system”更新红宝石,则“宝石更新buildr”可以确保所需要的依赖已全部安装完毕。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top