在我的Maven项目中,我有一些应该存在于WEB-INF / lib中的依赖项。我不能将所有的jar放在WEB-INF / lib中,只能放入所选的。如何做到这一点?
我无法使用maven-resources插件,因此我必须在<include>
标记内提及整个jar的名称,我需要保持动态。
我尝试使用<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
,但这不能让我选择只在lib文件夹中插入选定的jar。
我也尝试将<scope>provided</scope>
用于某些jar,但由于这个原因,jar的名称不会被添加到manifest.mf文件中的classpath字段中。
请提出一些解决方案。提前致谢!
答案 0 :(得分:0)
您可以使用Assembly插件和自定义程序集描述符。在描述符中,您可以设置要使用其工件ID,组ID,版本和范围复制的jar。它还支持正则表达式。 https://maven.apache.org/plugins/maven-assembly-plugin/advanced-descriptor-topics.html
答案 1 :(得分:0)
这可能不是在WEB-INF/lib/
文件中打包WAR
嵌套目录的内容的最佳方式,但How to put all required jars in a lib folder inside the final jar with maven问题中提供的实现(使用{{ 1}}插件)解决了我将{em>所有依赖的jar包装到我最后一个jar的maven-dependency-plugin
目录中的JAR
需求。奇怪的是,这是一个常见问题,有许多不同的解决方案。这个实现实际上将jar封装在嵌套的lib/
目录中,而其他实例则提取了我的依赖jar的内容并将它们的类放在我的类旁边。所以这可能会让你更接近,但可能不是处理lib/
文件库库的官方方式。