使用maven2进行构建自动化和持续集成一个Eclipse RCP项目?

8

下周我的公司将启动一个新项目。我们计划使用Eclipse RCP开发应用程序。构建过程应该完全自动化,因此我们准备搭建持续集成环境(例如Continuum)。我打算使用Maven2进行构建自动化部分,因为我想使用它的依赖管理功能。

我之前在一个小型旧式Java项目中使用过Maven2,但是从未在Eclipse RCP中设置过Maven。

如何最好地做到这一点?基本概念?常见陷阱?是否有任何教程或书籍可供参考?我找到的教程和信息似乎过时或不完整。

PS:主项目将被分成子项目(插件)。但我认为这对于Eclipse RCP项目来说是很典型的。


我认为这个项目是一个RCP项目并不会对你的maven/continuum项目产生任何影响,不是吗? - matt b
1
是的。Eclipse RCP基于OSGi进行依赖项解析,而Maven是一种完全不同的依赖项解析系统。遗憾的是,它们目前(尚)不兼容。Maven 3可能会解决这个问题,但在最近的未来不会发布。 - paulgreg
4个回答

3

这里有另一个与Tycho相关的有趣链接:http://docs.codehaus.org/display/M2ECLIPSE/Tycho+project+overview,以及一篇关于Tycho的法语评论:http://keulkeul.blogspot.com/2009/05/premier-essai-avec-tycho.html。 - paulgreg

2

和大部分Maven的问题一样,这个问题也可以通过链接到一个插件来解决:

"pde-maven-plugin"

其他建议:

  1. 使用assembly插件来构建更新站点
  2. 考虑使用Hudson而不是Continuum

2
我一直在为maven2 / Eclipse RCP集成而奋斗。关键不是让你的设置正确:通过在maven中逆向工程Eclipse的构建过程,最终可以使其正常工作。
根据我的经验,难点在于保持所有内容的最新状态。每当Eclipse更新他们的库时,您都会发现自己需要为最新的RCP小部件或SWT库重新编写一堆pom文件。当然,CI在某种程度上有所帮助。问题在于Eclipse和maven在构建业务方面非常特别,它们的方法大不相同。更糟糕的是,PDE dev(以及Eclipse dev,更普遍地说)由很多向导代码驱动,这些代码有时对幕后发生的事情相当不透明。
你真正需要问自己的问题是是否值得花费这个精力。在我个人的情况下,我认为确实值得。(CI太好用了,不能没有。)但是,权衡之后,您可能会发现自己成为“构建人员”,这可能会占用宝贵的时间,而这很可能是您最喜欢的实际开发。

另一个快速的评论:不妨试试Hudson而不是Continuum。它非常棒,使用起来非常轻松。 - jasonnerothin

0

1
我在我的项目上尝试了几个小时的Tycho(由约30个插件和10个特性组成),但没有取得很大的成功。必须花更多时间或等待Tycho更加稳定。 - paulgreg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接