zoukankan      html  css  js  c++  java
  • 依赖<dependency>的scope了解

    maven项目,添加依赖的时候,<dependency>内会有scope选项,默认是compile。

    网上也有不少介绍,有一个<import>没看明白,专门试了下,记录如下。

    新建项目testd为pom类型。再建子模块,但是不依赖testd这个项目(即父项目不指定),对应pom如下:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <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>normal</groupId>
      <artifactId>testd</artifactId>
      <version>1.0-SNAPSHOT</version>
      <name>testd</name>
      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
          </dependency>
        </dependencies>
      </dependencyManagement>
    
    </project>
    <?xml version="1.0" encoding="UTF-8"?>
    <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">
    <!--    <parent>-->
    <!--        <artifactId>testd</artifactId>-->
    <!--        <groupId>normal</groupId>-->
    <!--        <version>1.0-SNAPSHOT</version>-->
    <!--    </parent>-->
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>testson1</artifactId>
        <groupId>normal</groupId>
        <version>1.0-SNAPSHOT</version>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>normal</groupId>
                    <artifactId>testd</artifactId>
                    <version>1.0-SNAPSHOT</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
            </dependency>
        </dependencies>
    </project>

    testson1里测试junit是否可以使用,比较简单,就是判断@Test是否可以导入,代码如下:

    public class SampleTest {
    
        @Test
        public void testDependency() {
        }
    }

    个人理解总结:使用<scope>import</scope>这个范围限制,可以在不继承父项目的情况下,使用指定项目的特定依赖(改部分依赖是pom项目里指定版本的,可以理解是特殊管理的jar类型)

  • 相关阅读:
    利用html2canvas将html页面截图 js
    微信网页分享功能 js
    json数组排序 js
    数字千位符 js
    调用百度Api读取图片文字 C#
    判断手机移动端js
    网页添加水印js
    css 文字隐藏,鼠标移动显示
    删除某个数据库下所有表
    linux错误记录
  • 原文地址:https://www.cnblogs.com/havenenjoy/p/12974612.html
Copyright © 2011-2022 走看看