Maven中用于富客户端的多模块项目

时间:2013-12-03 17:12:59

标签: java swing maven

我想知道是否有人对如何最好地继续使用Maven和多模块Rich Client应用程序有任何建议(比如说它在Java Swing中)。

要求是应用程序的某个核心部分存在于某种核心项目中。如果你运行这个核心项目,你仍然可以看到一些东西,让一些不同的子模块作为选项卡式窗格中的选项卡。

Core是可运行的,并显示了一些人人共有的核心GUI模块。

enter image description here

一位客户可能是一名公交运营商并收到配置并看到类似的内容

enter image description here

......而另一位顾客可能是一家看到类似内容的宠物商店:

enter image description here

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部分粘合在一起?包装是如何工作的?等

0 个答案:

没有答案