Maven

1. 使用非中央仓库的第三方jar包

  A. 直接依赖本地的jar包

    第一步:建立文件夹 src/main/resources/lib;

    第二步:

<dependency>
    <groupId>com.ruhuanxingyun.test</groupId>
    <artifactId>test-plugin</artifactId>
    <version>1.0.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/src/main/resources/lib/test-plugin-1.0.0.jar</systemPath>
</dependency>

  B. 打包到本地仓库

mvn install:install-file -Dfile=test-plugin-1.0.0.jar -DgroupId=com.ruhuanxingyun.test -DartifactId=test-plugin -Dversion=1.0-SNAPSHOT -Dpackaging=jar

   -Dmaven.repo.local:指定仓库目录根位置,适合本机上包含多个仓库;

  -Dfile:依赖文件位置;

  -DgroupId:pom.xml中groupId;

  -DartifactId:pom.xml中artifactId;

  -Dversion:pom.xml中version;

  -Dpackaging:jar或war,包的后缀名;

 

2. scope含义

  A. compile:编译范围,也是默认的范围,编译范围依赖在所有的classpath 中可用,同时它们也会被打包;

  B. provided:已提供范围,只有在当JDK 或者一个容器已提供该依赖之后才使用;

  C. runtime:运行时范围,在运行和测试系统的时候需要,但在编译的时候不需要;

  D. test:测试范围,在一般的编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用;

  E. system:系统范围,显式的提供一个对于本地系统中JAR 文件的路径,同时提供一个systemPath元素

 

3. 依赖

  A. depencyManagement和dependencies标签区别

   depencyManagement:一般用在父pom.xml文件中,他只声明依赖,并不实现引入,子项目要用,必须引入,无需指定version和scope,这个会从父项目继承下来;

   dependencies:声明在dependencies里的依赖都会被自动引入,并默认被所有的子项目继承。

 

可参考:查看jar包的依赖关系

 

posted @ 2020-12-10 14:15  如幻行云  阅读(92)  评论(0编辑  收藏  举报