zoukankan      html  css  js  c++  java
  • maven 依赖的传递性

    1.如图我们有三个项目,项目Age,项目Bge,项目Cge

    2.我们使Age项目依赖到Bge项目,Bge项目依赖到Cge项目

    Age项目和Bge项目分别执行命令:mvn install  打包*.jar包,且放到本地仓库中

    配置项目Bge的xml

    <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/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.imooc.Bge</groupId>
      <artifactId>Bge</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>Bge</name>
      <url>http://maven.apache.org</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
         <dependency>
          <groupId>com.imooc.Age</groupId>
          <artifactId>Age</artifactId>
          <version>0.0.1-SNAPSHOT</version>
        </dependency>
        
      </dependencies>
    </project>

    配置项目Cge的xml

    <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/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.imooc.Cge</groupId>
      <artifactId>Cge</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>Cge</name>
      <url>http://maven.apache.org</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
        <dependency>
         <groupId>com.imooc.Bge</groupId>
          <artifactId>Bge</artifactId>
          <version>0.0.1-SNAPSHOT</version>
        </dependency>
      </dependencies>
    </project>

    发现maven依赖如下图:

     证实maven的依赖拥有传递性质!

    3.阻止maven的依赖性如项目Cge中,不要出现项目Age,那么我们在项目Cge中配置pom.xml如下

    项目Cge的xml配置如下:

    <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/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.imooc.Cge</groupId>
      <artifactId>Cge</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>Cge</name>
      <url>http://maven.apache.org</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
        <dependency>
         <groupId>com.imooc.Bge</groupId>
          <artifactId>Bge</artifactId>
          <version>0.0.1-SNAPSHOT</version>
          <!-- 排除依赖 -->
       <exclusions>
               <exclusion>
                <groupId>com.imooc.Age</groupId>
              <artifactId>Age</artifactId>
               </exclusion>
       </exclusions>
        </dependency>
      </dependencies>
      
      
    </project>

    项目Cge编译后的效果如下:

    周永发
  • 相关阅读:
    Windows下编译TensorFlow1.3 C++ library及创建一个简单的TensorFlow C++程序
    flask自动重启与配置文件导入,路由重定向(8)
    go(4)字符串的应用
    go(3)变量的应用与数据类型
    go(2)输出,转义,字符接收
    go(1)
    tornado集成wtforms
    HTML5笔记007
    HTML5笔记006
    HTML5笔记005
  • 原文地址:https://www.cnblogs.com/yvanBk/p/9075405.html
Copyright © 2011-2022 走看看