[英]maven dependency war issue
我想从最终的战争构建中排除以下依赖性(使用mvn软件包/安装)。
哪个范围更好?
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.2</version>
<scope>provided</scope>
</dependency>
您有2个选项, provided
或test
。 provided
也会在测试中将jar排除在类路径之外。 如果要测试依赖于该依赖关系的代码,则应改用test
。
如果在安装后仍在war文件中看到此依赖关系,我们将需要更多信息进行调试。 可能是您多次意识到此依赖关系而没有意识到这一点。 也可能是另一个依赖关系可传递地包括此jar,因此您必须使用exclude标签将其删除。
取决于您的目标部署服务器。 如果要在安装了JSF库的应用程序服务器(例如Glassfish
, Jboss
等)上进行部署,则首选提供的 scope
。 或者使用排除从目标战争中移除依赖关系。
另外,如果要在上下文服务器(例如tomcat
, jetty
等)上进行部署,请删除作用域目标以跨库复制该库以避免依赖关系问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.