我想知道是否有人对如何最好地继续使用Maven和多模块Rich Client应用程序有任何建议(比如说它在Java Swing中)。
要求是应用程序的某个核心部分存在于某种核心项目中。如果你运行这个核心项目,你仍然可以看到一些东西,让一些不同的子模块作为选项卡式窗格中的选项卡。
Core是可运行的,并显示了一些人人共有的核心GUI模块。
一位客户可能是一名公交运营商并收到配置并看到类似的内容
......而另一位顾客可能是一家看到类似内容的宠物商店:
Maven的最佳方法是什么?
关于SuperPOM,最好的方法是什么。据我所知,您可以拥有项目继承,并且可以进行项目聚合。
使用继承并让所有模块继承核心项目会不会更好?
--->核心POM
-------- Tarif Module POM(运输公司)
--------路线模块POM(运输公司)
-------- Cat模块POM(宠物店)
--------狗模块POM(宠物店)
然后所有的子项目都会像这样引用超级:
<parent>
<artifactId>CoreUI</artifactId>
<groupId>com.huwag</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
然后,其他一些外部项目将构建特定于客户端的JAR。 (这是我不确定的地方......使用继承,如何创建特定于一个客户的配置)
OR .....使用项目聚合会更好。从这个意义上讲,我的意思是每个超级POM都是特定于客户端的模块的集合。像这样:
---&GT;运输公司POM
-------- Tarif Module POM
--------路由模块POM
---&GT;宠物店POM
-------- Cat模块POM
-------- Dog Module POM
---&GT;核心POM(将在其他两个中引用)
<project>
<groupId>com.huwag</groupId>
<artifactId>MyPetStore</artifactId>
<packaging>pom</packaging>
<modules>
<module>DogComponent</module>
<module>CatCopmonent</module>
<module>Core</module>
</modules>
</project>
我认为后者是更好的选择。对我来说,我喜欢这个选项,因为我可以为客户更好地构建特定的包装。例如,一个客户端可能希望将其应用程序打包在webstart中,而另一个客户端可能希望将其打包在applet中。
如果有人可以帮我处理好Maven项目结构。
欢迎人们体验过的任何其他提示。有没有人使用OSGi选项将GUI部分粘合在一起?包装是如何工作的?等