maven3实战之坐标和依赖(最佳实践之归类依赖)
maven3实战之坐标和依赖(最佳实践之归类依赖)
----------
?
假如有个项目有很多关于SpringFramework的依赖,它们分别是org.springframework:spring-core:2.5.6、org.springframework:spring-bean:2.5.6、org.springframework:spring-context:2.5.6,它们是来自同一项目的不同模块。因此,所有这些依赖的版本会一起升级。因为它们版本是相同的,所以应该在一个唯一的地方定义版本,并且在dependency声明中引用这一版本。这样,在升级时只需要修改一处即可,例:
?
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.juven.mvnbook.account</groupId> <artifactId>accout-email</artifactId> <version>1.0.0-SNAPSHOT</version> <properties> <springframework.version>1.5.6</springframework.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${springframework.version}</version> </dependency> </dependencies></project>
?
这里简单用到了maven属性,首先使用properties元素定义maven属性,该例中定义了一个springframework.version子元素,其值为:2.5.6。有了这个属性定义之后,maven运行的时候会将POM中的所有的${springframework.version}替换成实际值:2.5.6。也就是说,可以使用美元符号和大括弧环绕的方式引用Maven属性。然后,将所有springframework依赖的版本值用这样一属性引用表示。
?
?
?
?
1 楼 yufu 2011-10-19 非常好,学习学习