【发布时间】:2018-08-27 15:02:14
【问题描述】:
我正在使用spring-boot2.0.3.RELEASE。当我使用IntelliJ IDEA 单击“显示有效POM”选项时,它会加载Effective POM。在那里我可以看到一些我的客户不希望在那里拥有的依赖项。
有没有办法告诉Maven 不要包含这些依赖项?我们如何从有效的 pom 中排除依赖关系?
【问题讨论】:
标签: java spring-boot maven-3
我正在使用spring-boot2.0.3.RELEASE。当我使用IntelliJ IDEA 单击“显示有效POM”选项时,它会加载Effective POM。在那里我可以看到一些我的客户不希望在那里拥有的依赖项。
有没有办法告诉Maven 不要包含这些依赖项?我们如何从有效的 pom 中排除依赖关系?
【问题讨论】:
标签: java spring-boot maven-3
Maven 提供了一种使用 exclude 标签排除依赖项的方法
这是一个取自文档网站https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html的示例
<dependencies>
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>compile</scope>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>sample.ProjectB</groupId>
<artifactId>Project-B</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
我们的想法是从您获得不需要的依赖项的位置找到父依赖项并添加排除标记。
如果在运行时需要它们,您可以指定要提供的范围
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
这将告诉 maven 使用 deps 进行编译,但不会不将它们包含在目标包中,它们将由执行代码的 JVM 在生产环境中提供。
希望对你有帮助
【讨论】: