gpt4 book ai didi

java - 使用spring boot和spring-boot-maven-plugin生成war时排除application.properties

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:41:46 24 4
gpt4 key购买 nike

我正在使用 Spring Boot 开发 Web 应用程序,并希望生成 war 而不是 jar。

使用这里描述的从 jar 到 war 的转换工作得很好:http://spring.io/guides/gs/convert-jar-to-war/

但我想从 war 中排除application.properties,因为我使用@PropertySource(value = "file:${OPENSHIFT_DATA_DIR}/application.properties")获取文件路径生产环境。

  • 此方法在生成我的 war 时有效,但在 eclipse 中我无法运行我的应用程序,因为 application.properties 根本没有复制到目标/类:

    <build>
    <resources>
    <resource>
    <directory>src/main/resources</directory>
    <excludes>
    <exclude>application.properties</exclude>
    </excludes>
    </resource>
    </resources>
    </build>
  • 这个方法根本不行,我觉得spring-boot-maven-plugin不支持packagingExcludes:

    <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
    <packagingExcludes>WEB-INF/classes/application.properties</packagingExcludes>
    </configuration>
    </plugin>
    </plugins>
    </build>

您还有其他建议吗?

谢谢

最佳答案

尝试使用以下解决方案。这将起作用:

<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

如果您使用上述解决方案,在 Eclipse IDE 中运行项目时,您可能会收到找不到属性文件的错误。要摆脱这种情况,您需要在运行配置中添加资源文件夹。(运行配置... -> 类路径 -> 用户条目 -> 高级... -> 添加文件夹)

关于java - 使用spring boot和spring-boot-maven-plugin生成war时排除application.properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26744060/

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