【问题标题】:Exclude Dependency while package War file打包 War 文件时排除依赖关系
【发布时间】:2021-11-01 05:08:19
【问题描述】:

我正在使用 Spring Boot 应用程序,并希望在生成包时排除一些依赖项。这些包不应包含在生成的war文件中:

<dependency>
            <groupId>com.mangofactory</groupId>
            <artifactId>swagger-springmvc</artifactId>
            <version>0.8.8</version>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-ui</artifactId>
            <version>1.4.3</version>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>

【问题讨论】:

  • 请显示完整的 pom 文件,因为不应将提供的依赖项打包到生成的 war 文件中...另一个问题是为什么您使用 war 而不是通常的方式 jar 用于 Spring Boot 应用程序?
  • 在我的情况下,我应该生成 WAR 文件。我不需要导出这些特定的依赖项。但是我只在开发模式下使用这些依赖项。

标签: spring-boot maven


【解决方案1】:
  1. 要从生成的war文件中排除特定文件,请在构建插件&lt;packagingExcludes&gt;https://maven.apache.org/plugins/maven-war-plugin/examples/including-excluding-files-from-war.html中包含依赖项列表。这使您可以从生成的 war 文件中删除特定文件。
  2. 对于仅在构建和测试阶段可用的依赖项,使用provided 范围,https://howtodoinjava.com/maven/maven-dependency-scopes/
  3. 如果您正在考虑排除传递依赖项,您可以在依赖项https://www.educba.com/maven-exclude-dependency/ 中包含 exclusions 部分

【讨论】:

猜你喜欢
  • 2014-06-06
  • 1970-01-01
  • 1970-01-01
  • 2015-01-29
  • 2015-04-03
  • 2016-10-24
  • 2011-08-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多