maven的统一版本管理实践

为何要使用maven的统一版本管理?

在进行项目开发的时候,咱们使用maven来作项目的构建和管理。为了方便项目中各个模块之间的复用,项目一般会有多个模块构成。不一样的模块,会各自应用本身须要的jar包依赖,就会致使不一样的模块引用了不一样版本的jar包依赖,从而出现兼容性问题。还有为了方便版本的统一升级维护,防止部分模块的依赖升级,致使项目中的多个版本的同名jar。基于这些缘由,使用maven的统一版本管理就能够解决相似的问题。mybatis

代码示例

父 pom.xml配置示例

一般会写一组 标签,在标签中定义好版本号。

<properties>
    <jackson.version>2.8.10</jackson.version>
    <tk.mybatis.version>4.0.0</tk.mybatis.version>
 </properties>

使用${jackson.version}就能够引用上边定义的版本号

<dependencyManagement>
 <dependencies>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper</artifactId>
        <version>${tk.mybatis.version}</version>
      </dependency>
 </dependencies>
</dependencyManagement>

子 pom.xml配置示例

子模块引用父模块的版本方法 直接写groupId、artifactId就能够,版本就能够自动引用

<dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-core</artifactId>
  </dependency>

为何用SNAPSHOT?

相关文章
相关标签/搜索