1.排除依赖
发现依赖包里有些包不稳定,可以排除依赖,显式的申明文档的包
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.1</version>
<exclusions>
<exclusion>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1</version>
</dependency>
2.归类依赖
使用归类依赖不仅让代码变得更加简洁,更重要的是避免重复,只需要修改一处,降低了错误的发生率。如下spring的使用
<properties>
<springframework.version>2.5.6</springframework.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${springframework.version}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${springframework.version}</version>
<type>pom</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${springframework.version}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${springframework.version}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
3.优化依赖
mvn dependency:list
表示依赖列表,maven eclipse插件已经实现,有图形化显示,在pom.xml的dependencies页
mvn dependency:tree
表示依赖列表,maven eclipse插件已经实现,有图形化显示,在pom.xml的dependency hierarchy页
mvn dependency:analyze
查找出在编译和测试中未使用但显示声明的依赖
参考: 徐晓斌的 《Maven实战》