我有一个关于排除maven依赖项的查询.考虑以下
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>${spring-security.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>3.1.0.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
Run Code Online (Sandbox Code Playgroud)
我试图实现从Spring 3.0.6到3.1.0的过渡.Spring安全性3.1.0依赖于spring-security-web 3.0.6版本,而后者依赖于spring-web 3.0.6.我需要把它全部带到3.1.0.所以我从Spring安全性中排除了spring-security-web,对spring-security-web 3.1.0有一个单独的依赖,后者又排除了spring-web 3.0.6版本,我提供了一个单独的spring-web 3.1.0版本.这项工作,但我觉得会有一个更容易的方法.我尝试在Spring安全下对spring web进行排除,但它没有用.请帮忙 .
Spe*_*mos 12
全局排除看起来像是在进行,但直到那时......
从Sonatype maven参考(页面底部):
顶级POM中的依赖关系管理不同于仅定义对广泛共享的父POM的依赖关系.对于初学者,所有依赖项都是继承的.如果将mysql-connector-java列为顶级父项目的依赖项,则层次结构中的每个项目都将引用此依赖项.使用dependencyManagement不是添加不必要的依赖项,而是允许您合并和集中管理依赖项版本,而无需添加所有子项继承的依赖项.换句话说,dependencyManagement元素等效于一个环境变量,它允许您在项目下的任何位置声明依赖项而不指定版本号.
举个例子:
<dependencies>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)
它并没有使代码整体更简洁,但它确实使它在重要的地方变得冗长.如果您仍然希望它更简洁,您也可以从Sonatype参考中遵循这些提示.
| 归档时间: |
|
| 查看次数: |
91705 次 |
| 最近记录: |