【问题标题】:Use maven2 for build-automation and continuous integration of an eclipse rcp project?使用 maven2 进行 eclipse rcp 项目的构建自动化和持续集成?
【发布时间】:2010-09-17 04:44:12
【问题描述】:

我的公司下周开始一个新项目。我们计划使用 eclipse rcp 开发应用程序。构建过程应该是完全自动化的,因此我们准备建立一个持续集成环境(例如 Continuum)。对于构建自动化部分,我打算使用 maven2,因为我想使用它的依赖管理。

我在一个小型的老式 java 项目中使用过 maven2,但从未设置 maven 以将其与 eclipse rcp 一起使用。

最好的方法是什么?基本概念?常见的陷阱?那里有教程或书籍吗?我发现的教程和信息似乎已经过时或不完整。

PS:主项目会分为子项目(插件的)。但我认为这对于 eclipse rcp 项目来说很典型。

【问题讨论】:

  • 我不认为这是一个 RCP 项目会改变你的 maven/continuum 项目,不是吗?
  • 是的。 Eclipse RCP 基于 OSGi 进行依赖解析,而 maven 是一个完全不同的依赖解析系统。遗憾的是,它们(还)不兼容。 Maven 3 可能会解决该问题,但不会在近期发布。

标签: maven-2 continuous-integration build-automation eclipse-rcp


【解决方案1】:

与大多数 Maven 问题一样,这可以通过插件链接来解决:

"pde-maven-plugin"

其他建议:

  1. 使用汇编插件构建 更新站点
  2. 考虑使用 hudson 而不是 连续体

【讨论】:

    【解决方案2】:

    我最近遇到了同样的问题:通过持续集成构建 eclipse RCP 应用程序。

    我还没有应用它们,但我发现了一些有趣的文章:

    1. 这里是the documentation for Tycho
    2. Building Eclipse Plugins with Maven 2 在 eclipse.org 上
    3. Build Eclipse RCP products using Maven 2 - how hard can it be? 来自 Immo Hüneke 的博客
    4. 这是一篇关于PDE build automation的文章
    5. 这是shell script to automate JUnit test launch

    【讨论】:

    • 我在我的项目(由约 30 个插件和约 10 个功能组成)上尝试了几个小时 Tycho,但没有取得很大成功。必须花更多时间或/和等到第谷更稳定。
    【解决方案3】:

    一段时间以来,我一直在与 maven2/Eclipse RCP 集成作斗争。关键不在于正确设置您的设置:您可以通过在 maven 中对 Eclipse 的构建过程进行逆向工程,最终使其正常工作。

    根据我的经验,最困难的部分是让所有内容保持最新。每次 Eclipse 修改它们的库时,您都会发现自己为最新的 RCP 小部件或 SWT 库重新编写了一堆 pom 文件。自然,CI 在这方面有所帮助。问题在于 Eclipse 和 maven 对构建业务的方式非常挑剔,而且它们的方法完全不同。更糟糕的是,PDE 开发(以及更普遍的 Eclipse 开发)由大量向导代码提供支持,这些代码有时对于幕后发生的事情非常不透明。

    您真正需要问自己的问题是,是否值得付出努力。在我的特殊情况下,我相信它已经发生了。 (没有 CI 太好了。)但代价是您可能会发现自己是“构建者”,这可能会占用您最喜欢的实际开发时间。

    【讨论】:

    • 另一个快速评论:给哈德森一个旋转而不是连续体。它真的很整洁,使用起来轻而易举。
    【解决方案4】:
    猜你喜欢
    • 2012-05-24
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多