我简化了项目结构我不得不问这些问题,我的根文件夹的结构如下:
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是一个插件和一个存储库(生成软件的可执行文件)
答案 0 :(得分:0)
我不熟悉Tycho,但基于official docs,eclipse-plugin
打包生成一个插件,而eclipse-repository
打包生成更新站点,其中可能包含多个可能不同版本的插件。
Maven中的一个非常正常的概念是拥有一个“分发”项目,它将多个工件捆绑到一个分发包中。这似乎与eclipse-repository
打包非常相似,即使在您的情况下它只是捆绑的一个项目。
这意味着您需要以下项目:
eclipse-plugin
包装的产品项目eclipse-repository
打包和依赖于第一个的分发项目(因为它基本上捆绑了第一个)。实际结构对Maven本身并不重要,但对您使用的IDE很重要。最直观的方法是将聚合器/父pom.xml放在根文件夹中,并将其他每个项目放在各自独立的子文件夹中。