目录
1. scope的可选值
- 1. scope的可选值
- 2. 依赖范围表(compile、test、provided)
- 3. import
- 4. system
- 5. runtime
- 6. optional可选依赖
- 7. 将jar包安装到maven仓库
- 7.1 背景
- 7.2 将jar包安装到maven仓库
可选值如下:
compile、test、provided、import、system、runtime
2. 依赖范围表(compile、test、provided) 空间时间\scopecompile(默认)testprovidedmain目录(空间)有效无效有效test目录(空间)有效有效有效开发过程(时间)有效有效有效部署到服务器(时间)有效无效无效应用场景服务器需要该jar包测试服务器已有该jar包 3. import当我们自己创建的项目父工程,依赖另一个项目的父工程,会违背Maven的单继承。可以通过import依赖范围来依赖多个项目的父工程
如下示例所示:
org.springframework.cloud
spring-cloud-dependencies
2021.0.3
pom
import
说明:
- 必须放在dependencyManagement中
- type: 打包类型必须是 pom
用于将本地的jar包引入到我们项目进行使用。移植性太差,不建议使用
org.apache.flink
flink-connector-jdbc
1.15.0
C:\Users\dell\Desktop\flink-connector-jdbc-1.15.0.jar
system
5. runtime
专门用于编译时不需要,但是运行时需要的jar包。比如mysql-connector-java-8.0.29.jar驱动包
mysql
mysql-connector-java
8.0.29
runtime
6. optional可选依赖
有时会有optional为true的可选依赖,如下所示:
org.springframework.boot
spring-boot-devtools
2.7.1
runtime
true
表示该依赖对于项目来说,可有可无。其核心含义是:Project A依赖Project B,B 中一部分A用不到的代码依赖了C,那么对A来说C就是可有可无的
7. 将jar包安装到maven仓库 7.1 背景有时别人只提供一个jar包给你,就需要我们将该jar包安装到本地仓库中,供我们使用
7.2 将jar包安装到maven仓库我们准备一个jar包,名称为maven-learn-0.1.jar
使用install插件的install-file目标,将jar包安装到maven仓库。如下所示
C:\Users\dell>mvn install:install-file -Dfile=C:\Users\dell\Desktop\maven-learn-0.1.jar ^
More? -DgroupId=com.hh ^
More? -DartifactId=maven-learn ^
More? -Dversion=0.1 ^
More? -Dpackaging=jar
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- maven-install-plugin:2.4:install-file (default-cli) @ standalone-pom ---
[INFO] Installing C:\Users\dell\Desktop\maven-learn-0.1.jar to D:\install_software\maven\apache-maven-3.8.1\repository\com\hh\maven-learn\0.1\maven-learn-0.1.jar
[INFO] Installing C:\Users\dell\AppData\Local\Temp\mvninstall1123739996078159064.pom to D:\install_software\maven\apache-maven-3.8.1\repository\com\hh\maven-learn\0.1\maven-learn-0.1.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.730 s
[INFO] Finished at: 2022-07-01T16:28:48+08:00
[INFO] ------------------------------------------------------------------------
C:\Users\dell>
其中定义的groupId、artifactId、version可以和源jar包maven-learn-0.1.jar中定义的不一样
然后就可以对导入的依赖,进行引用使用了