Maven经验分享(八)maven去除jar报依赖

又是项目总结的时候了,说一下maven使用中遇到的问题以及解决方案。

在新项目的开发中,使用maven进行持续构建,在搭建框架的过程中经常遇到jar冲突的问题,现在来介绍下如何去除jar传递依赖。

1、项目间传递

如果我的当前项目是project1,project1要依赖project2,project1依赖project2的配置中加上<optional>true</optional>,表示依赖可选,

<dependency>  
    <groupId>com.projecct</groupId>  
    <artifactId>project2</artifactId>  
    <version>1.0</version>  
    <scope>compile</scope>  
    <optional>true</optional>  
</dependency> 

 这种方式排除不了我项目中对第三方jar包所依赖的其他依赖,因为我不可能去修改第三方jar包的pom文件,所以只适合在项目组内部使用。

2、依赖过滤

将依赖于project2中的某一个jar过滤掉,如下:

<dependency>
			<groupId>com.project</groupId>
			<artifactId>project2</artifactId>
			<version>${project.version}</version>
			<exclusions>
				<exclusion>
					<artifactId>poi</artifactId>
					<groupId>poi</groupId>
				</exclusion>
				<exclusion>
					<artifactId>log4j</artifactId>
					<groupId>log4j</groupId>
				</exclusion>
			</exclusions>
		</dependency>

 配置了这个,终于清净了,启动没报错。

你可能感兴趣的:(maven,去除依赖,依赖过滤)