默认情况下,repackage 和 run 目标会包含任何定义在项目中的 provided 依赖。Spring Boot 项目会认为 provided 依赖是运行应用的容器所需的依赖。
其中一些依赖项可能根本不需要,应该从可执行 jar 中排除。为了保持一致性,它们在运行应用程序时也不应该出现。
有两种方式可以排除在运行时打包/使用依赖项:
下面所示通过指定 groupId 和 artifactId 排除 com.xh:common-core依赖:
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-maven-pluginartifactId>
- <version>${spring-boot-dependencies.version}version>
- <configuration>
- <excludes>
- <exclude>
- <groupId>com.xhgroupId>
- <artifactId>common-coreartifactId>
- exclude>
- excludes>
- configuration>
- plugin>
- plugins>
- build>
下面所示,通过指定所属的 group 来排除依赖:
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-maven-pluginartifactId>
- <version>${spring-boot-dependencies.version}version>
- <configuration>
- <excludeGroupIds>com.xhexcludeGroupIds>
- configuration>
- plugin>
- plugins>
- build>