- compile:默认值,适用于所有阶段,随项目一起发布。
- provided:只在编译期使用,不随项目发布。如 lombok。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
- runtime:只在运行时使用,编译时不需要。如:mysql、Oracle。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
- test:只在测试时使用,不随项目发布。如: junit。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
- system:引用本地jar包。
<dependency>
<groupId>org.ojdbc6</groupId>
<artifactId>ojdbc6</artifactId>
<scope>system</scope>
<version>${oracle.version}</version>
<systemPath>${basedir}/src/main/resources/lib/ojdbc6-11.2.0.3.jar</systemPath>
</dependency>
- import:maven2.9以上版本,解决maven单继承问题。只能用在<dependencyManagement>里面,且仅用于 <type>pom</type> 的 <dependency>。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
关于 <optional> 标签:默认值为 false, 表示子项目必须依赖该 jar。为 true,则表示子项目不会依赖该 jar。
网友评论