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依赖的版本值用这样一属性引用表示。

猜你喜欢

转载自fhd001.iteye.com/blog/1098923
今日推荐