马文依赖战争问题



我想从最终的war构建中排除以下依赖项(使用mvn-package/install)。

哪个范围更可取?

<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-api</artifactId>
    <version>2.2.2</version>
    <scope>provided</scope>
</dependency>

您有两个选项,providedtestprovided也会将jar从测试的类路径中排除。如果要测试依赖于该依赖关系的代码,则应该使用test

如果您在安装后仍在war文件中看到此依赖项,我们将需要更多信息进行调试。可能是你不止一次地包含了这个依赖项而没有意识到它。也可能是另一个依赖项正在传递性地包含这个jar,你必须使用exclude标记来删除它。

取决于您的目标部署服务器。如果您在安装了JSF库的应用程序服务器(如GlassfishJboss等)上进行部署,则首选提供的scope。或者使用排除来从你的目标战争中移除依赖。

或者,如果您在tomcatjetty等上下文服务器上进行部署,请删除要跨库复制的作用域目标,以避免依赖性问题。

最新更新