【发布时间】:2013-02-17 15:19:05
【问题描述】:
我有一个 java 项目,其中包含 3 个不同的类,每个类都有一个 main()。 我有一个用于整个项目的 pom.xml 文件。
我希望 Maven 为每个类及其依赖项创建一个 jar。
我该怎么做??
【问题讨论】:
标签: maven-3 maven-plugin maven-assembly-plugin
我有一个 java 项目,其中包含 3 个不同的类,每个类都有一个 main()。 我有一个用于整个项目的 pom.xml 文件。
我希望 Maven 为每个类及其依赖项创建一个 jar。
我该怎么做??
【问题讨论】:
标签: maven-3 maven-plugin maven-assembly-plugin
如果您有三个主类,每个类都是一个单独的应用程序,那么您很可能应该有四个 jar:一个用于每个主类,一个用于在它们之间共享的代码。 Maven 与“每个模块一个工件”的想法非常紧密,如果你试图违背这一点,你就会走上一条黑暗而危险的道路。在 Maven 中表达这种结构的自然方式是在五个或六个模块中:
还有 4-6:每个主类的子模块以及特定于该主类/应用程序的支持代码和配置。
在文件系统上,此解决方案如下所示:
<project folder>
- pom.xml
- parent-module
- pom.xml
- common
- pom.xml
- app1
- pom.xml
- app2
- pom.xml
- app3
- pom.xml
然后您可以使用 assembly plugin 或 appassembler 之类的东西来创建将适当的配置、库和启动脚本打包在一起的发行版。
【讨论】: