与tycho共享eclipse-repository和eclipse-plugin的产品文件夹

时间:2016-05-21 05:09:30

标签: xml eclipse maven tycho

我简化了项目结构我不得不问这些问题,我的根文件夹的结构如下:

  • my.project.parent
    • 的pom.xml
  • my.project.product
    • 的pom.xml
    • POM-product.xml

mvn clean install中的pom.xml是我首先使用my.project.product编译的根pom

之后,我打开my.project.parent/pom.xml,通过my.project.product

的相对路径链接

我的问题是,我需要使用tycho,eclipse-plugin包装类型必须同时为eclipse-repository,同时还需要mvn install -f pom-product

实际上我使用pom.xml编译my.project.product,它一次运行两个pom。

在tycho中只使用一个msi.gama.application是否可以做同样的事情?

- 更新 -

您可以在此处找到该软件项目:github.com/gama-platform/gama。 pom.xml包含双eclipse-repository。一个用于生成eclipse-plugin(软件的可执行文件)的产品,另一个用{{1}}生成插件(需要作为软件扩展开发者的依赖)

这就是为什么msi.gama.application是一个插件一个存储库(生成软件的可执行文件)

1 个答案:

答案 0 :(得分:0)

我不熟悉Tycho,但基于official docseclipse-plugin打包生成一个插件,而eclipse-repository打包生成更新站点,其中可能包含多个可能不同版本的插件。

Maven中的一个非常正常的概念是拥有一个“分发”项目,它将多个工件捆绑到一个分发包中。这似乎与eclipse-repository打包非常相似,即使在您的情况下它只是捆绑的一个项目。 这意味着您需要以下项目:

  1. 包含eclipse-plugin包装的产品项目
  2. 具有eclipse-repository打包和依赖于第一个的分发项目(因为它基本上捆绑了第一个)。
  3. (可选)包含前两个模块的聚合器项目,可以轻松地一次性构建。您还可以将此聚合器项目指定为前两个的父项,并在必要时将常用配置放入其中。
  4. 实际结构对Maven本身并不重要,但对您使用的IDE很重要。最直观的方法是将聚合器/父pom.xml放在根文件夹中,并将其他每个项目放在各自独立的子文件夹中。