我有一个 Maven 项目,依赖于其他几个 Maven 项目。我在我的项目中使用 Spring 3.1.1,依赖项目有 3.0.6。我试图在部署时排除 Spring 3.0.6,因为两者都不可能。我已经在我的 POM 中添加了一个明确的排除项,但由于某种原因,我仍然在WEB-INF/lib
启动 Tomcat 服务器时的文件夹。有人可以指出我哪里出错了。这是我的pom.xml
:
<project>
....
<properties>
<org.springframework-version>3.1.1.RELEASE</org.springframework-version>
</properties>
<dependency>
<groupId>com.test.abc</groupId>
<artifactId>abc</artifactId>
<version>1.0</version>
<type>war</type>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-xml</artifactId>
<version>1.0-m2</version>
</dependency>
....
</project>
您的依赖类型是战争,因此这里没有解决方案。 Maven 将战争内容覆盖在您的项目上。
当战争发布到存储库时,工件将在 WEB-INF lib 文件夹中包含依赖库。在覆盖期间,它不会将 lib 文件夹与任何静态资源有任何不同,除非您告诉它以不同的方式排除。检查“覆盖”属性here
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)