如何解决有没有办法在生成的WAR中不包含jar,而在META-INF上的pom中也包含版本?
我处理的项目包括一个主模块和其他4个模块,每个模块都有其pom
- 主要
- B
- C
- D
- 网络
主模块在DependencyManagement中的POM中列出了所有依赖关系以及版本。
其余的仅包括
Web模块是我们导出为WAR的模块,生成时会将其POM包含在meta-inf中。
场景1
是否有一种生成WAR文件的方式,除了与其他模块相对应的jar之外,它不包含所有jar?
我已经看到一些解决方案,这些解决方案涉及添加Maven EAR定义,但这是一个艰苦的过程,并且总的来说并不会导致项目文件更小。
场景2
否则,如果没有通过POM实现的方法,是否有办法至少将主模块中包含的版本号反映到WAR的meta-inf pom上?
在另一种情况下,至少我可以通过脚本删除jar文件,然后在目标计算机上运行copy-dependencies maven命令,而不用花费额外的时间来发送原本可能在那儿的jar文件。 >
解决方法
您可以通过将其范围更改为提供来防止不必要的jar包含在最终的WAR文件中
<dependency>
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<version>version</version>
<scope>provided</scope>
</dependency>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。