我有一个多模块的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照顾它。
请让我知道是否需要更多详细信息。
如果要 在 jar中添加所有依赖项_,_则需要创建一个uberjar。将依赖项放入jar并不是jar正常工作的方式。uberjar可以让您做到这一点。
Shade是一个用Java构建的插件。您也可以这样进行:如何使用Maven创建具有依赖项的可执行JAR?
如果您想创建一个lib文件夹,下面的答案将解释如何:强制Maven2将依赖项复制到target /lib
是否可以为我的多模块maven项目的每个模块生成单独的jar文件。我的项目结构 应用程序模块具有main()方法。模块1和模块2具有由UI使用的RESTendpoint。目前,当我在应用程序模块上运行mvn包时,我得到了一个大的胖jar,其中包含所有Spring Boot依赖项以及每个模块1和模块2的依赖项。 相反,我想为module1和module2创建一个单独的jar文件。这样当我在modul
我有一个Maven项目,包含几个模块,其结构类似于: 我已经在parent在
我有一个spring boot mavel多模块项目。 如果Spring启动模块依赖于模块,并且在模块的文件夹中有一个属性文件或其他一些资源,我希望捆绑在最终的Spring启动应用程序中,我如何实现这一点。 目前,如果我在模块A JAR上运行,它包括文件: 然而: 提前感谢您的任何建议。
我使用的是IntelliJ IDEA社区版2016.1.3。我正在尝试创建一个maven多模块项目。项目公司是父模块,项目员工和项目技能集是子模块。项目员工和技术人员将有包装作为战争,但项目公司有包装作为POM。 我无法在employee和Skillset下创建一个类。我如何创建一个多模块的项目而没有在父(公司)的src文件夹?
嗨我在网上搜了一遍,看了一堆文章,所以问题和文档都找不到解决办法,这里是我的问题。 我有一个多模块maven项目,其中包含三个模块a、B和C,a和B独立,C依赖于a和B,当然我有一个父项目。我还设置了一个jenkins服务器来构建这些项目,以及一个nexus存储库。 如有任何帮助,不胜感激。谢谢!