我想从最终的战争构建中排除以下依赖项(使用 mvn 包/安装)。
哪个范围更可取?
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.2</version>
<scope>provided</scope>
</dependency>
我想从最终的战争构建中排除以下依赖项(使用 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
请删除范围目标以复制库以避免依赖性问题。