zoukankan      html  css  js  c++  java
  • maven的聚合与继承

    一、maven的聚合:

      1.我们可以将多个项目聚合到一起,在聚合项目是需要将<packaging>的值修改为pom使用<modules>进行项目的聚合,如下所示

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.aaa</groupId>
        <artifactId>user-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <!-- 注意此处将原来的jar修改为pom -->
        <packaging>pom</packaging>
    
        <modules>
            <module>../user-dao</module>
            <module>../user-service</module>
        </modules>

    这里使用user-parent整合了user-dao和user-service两个项目,这两个项目中不需要修改任何的东西。

    二、maven的继承:

     1.在各个子项目中添加<parent>标签生命父项目的信息,继承时会将父项目的所有的信息继承过来,如果jar包相同则以本地的jar包为准,如果想更好的管理jar包,可以将所有的jar包都放在父项目中,在子项目中只需要生命groupId和artifactId就可以了,不需要声明version,如下:

              父项目:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.aaa</groupId>
        <artifactId>user-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <!-- 注意此处将原来的jar修改为pom -->
        <packaging>pom</packaging>
    
        <modules>
            <module>../user-dao</module>
            <module>../user-service</module>
        </modules>
    
        <properties>
            <log4j.version>1.1.3</log4j.version>
            <project.encoding>UTF-8</project.encoding>
        </properties>
    
        <!-- 这里面声明的依赖关系只有在子项目中被显示的生命才会被继承,这样有利于避免jar包的版本不一致的问题 -->
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                    <version>${log4j.version}</version>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
    
    </project>

      子项目

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <artifactId>user-dao</artifactId>
      <packaging>war</packaging>
      <name>user-dao Maven Webapp</name>
      <url>http://maven.apache.org</url>
      
      <parent>
          <groupId>com.aaa</groupId>
          <artifactId>user-parent</artifactId>
          <version>0.0.1-SNAPSHOT</version>
          <relativePath>../user-parent/pom.xml</relativePath>
      </parent>
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
        </dependency>
      </dependencies>
      <build>
        <finalName>user-dao</finalName>
      </build>
    </project>

    这样我们可以有效的减少jar包冲突的现象出现。方便于我们管理项目

  • 相关阅读:
    android中实现监听的四种方法
    Jpgraph小应用
    正则表达式的初运用-认证界面
    Oracle案例04——TNS-12547: TNS:lost contact
    通过触发器记录数据库连接信息
    MySQL案例02:ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
    Oracle案例04——ORA-39700: database must be opened with UPGRADE option
    Oracle案例03——RMAN-06091: no channel allocated for maintenance (of an appropriate type)
    Xwiki安装部署详解
    MySQL案例01:Last_SQL_Errno: 1755 Cannot execute the current event group in the parallel mode
  • 原文地址:https://www.cnblogs.com/tangkai/p/3558554.html
Copyright © 2011-2022 走看看