[英]Maven : Copy only selected jars inside WEB-INF/lib
在我的Maven项目中,我具有某些依赖关系,这些依赖关系应该存在于WEB-INF / lib中。 我不能将所有jar放到WEB-INF / lib中,只能放到选定的jar中。 如何去做呢?
我不能使用maven-resources插件,因为那样的话,我不得不在<include>
标记内提及整个jar的名称,并且需要保持动态。
我尝试使用<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
但是这没有给我一个选项,只能在lib文件夹中插入选定的jar。
我也尝试对某些jar使用<scope>provided</scope>
,但是由于这个原因,jar的名称未添加到manifest.mf文件内的classpath字段中。
请提出一些解决方案。 提前致谢!
您可以使用Assembly插件和自定义的程序集描述符。 在描述符中,可以使用工件ID,组ID,版本和作用域设置要复制的jar。 它还支持正则表达式。 https://maven.apache.org/plugins/maven-assembly-plugin/advanced-descriptor-topics.html
这可能不是将WEB-INF/lib/
嵌套目录的内容打包到WAR
文件中的最佳方法,但是在如何将所有必需的jar放入带有maven的最终jar中的lib文件夹的问题中提出了实现。 (使用maven-dependency-plugin
插件)解决了将所有相关jar捆绑到最终jar的lib/
目录中的JAR
需求。 奇怪的是,这是一个常见问题,有许多不同的解决方案。 此实现实际上将jar捆绑在嵌套的lib/
目录中,而其他示例则提取了我依赖的jar的内容,并将其类放在我的类旁边。 因此,这可能使您更接近一点,但可能不是处理WAR
文件的库deps的正式方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.