我有一个多模块 Maven 项目。父 POM 和单个模块的 pom 工作正常(因为每个模块中的代码运行良好,没有任何依赖问题,并且mvn:package
目标运行没有任何警告/错误)。现在,我需要为每个模块创建一个 jar。
项目结构及其依赖项大致是这样的
ProjectABC
|
|--ModuleA
| |-Log4J
| |-Guava
| |-pom.xml
|
|--ModuleB
| |-ModuleA
| |-Commons
| |-pom.xml
|
|
|--MoudleC
| |-ModuleB
|
|-pom.xml
我关注了这个 Maven 多模块项目 - 将所有“包” JARS 从子模块复制到父/目标/
而且,能够将我所有子模块的 jar 放入一个mouduleJars
文件夹中,但我无法运行任何 jar,因为没有一个模块的依赖项被复制到mouduleJars
文件夹中。例如,如果module A
依赖于Log4J
我的mouduleJars
文件夹中没有 log4j.jar,则 log4J 都没有打包在 moduleA.jar 中
问题
如何在多模块项目中创建自包含(独立模块 jar)。或者,如何获取lib
文件夹中的所有依赖项。
临时解决方法
现在,我使用我的 IntelliJ IDEA ide 将所有依赖项(如 log4J、Guvava 等)复制到 lib 文件夹中
moduleA.jar
并运行通过将lib
文件夹添加到类路径中生成的 maven 。这运行良好,但我不喜欢这种手动方法,并希望 maven 来处理它。
对于那些认为它是重复的或已经回答的和downvoters的人
我的问题不是问 Maven Assembly Submodules Multimodules 或者这个
我已经花了一天多的时间试图让这个工作maven-assembly-plugin
没有任何成功。
如果需要更多详细信息,请告诉我。