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包的依赖关系