gpt4 book ai didi

java - 如何从 spring boot jar 中排除资源文件?

转载 作者:搜寻专家 更新时间:2023-10-31 19:53:54 24 4
gpt4 key购买 nike

我正在使用 maven-spring-boot 插件来生成 jar。我有多个带配置的资源文件(application-production.yml、application-test.yml、application-development.yml)。

问题是,当我为我们的客户生成版本时,我想排除开发和测试文件。是否可以在 maven-spring-boot 插件中排除资源文件?

我试过这个:

        <build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>application-dev*</exclude>
<exclude>application-test*</exclude>
</excludes>
</resource>
</resources>
</build>

但是maven插件使用它自己的脚本来进行资源管理(例如@val@替换等),如果添加到pom中,它在打包过程中会失败:

Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token
found character @ '@' that cannot start any token. (Do not use @ for indentation)
in 'reader', line 4, column 18:
project.version: @project.version@

没有它,它工作正常。

最佳答案

Spring Boot Maven 插件将Maven JAR Plugin 创建的JAR 文件重新打包。因此,您还可以选择在首次构建 JAR 时简单地排除文件,这可以防止 Spring Boot Maven 插件首先找到它们:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<excludes>
<exclude>application-dev*</exclude>
<exclude>application-test*</exclude>
</excludes>
</configuration>
</plugin>

关于java - 如何从 spring boot jar 中排除资源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32840749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com