在BOOT-INF / classes下放置.profile不起作用

问题描述 投票:1回答:1

我正在使用spring boot 1.5.4尝试生成jar并在PCF(Cloud Foundry)中部署。我把.profile放在BOOT-INF / classes下,它没有在PCF中执行,有人可以帮我解决这个问题。

谢谢

spring-boot pivotal-cloud-foundry
1个回答
0
投票

.profile文件必须位于JAR的根目录中,而不是BOOT-INF/classes下。

如果您正在使用spring-boot-maven-plugin,您的JAR将被重新打包,并且.profile将被移至BOOT-INF/classes,而Cloud Foundry无法识别它。您可以通过.profile查看$ vi your.jar位置。

如果你cf ssh ...进入你的应用程序,你应该直接在应用程序文件夹中找到.profile

如果您使用spring-boot-maven-plugin,我建议将.profile放在项目的根目录中,并添加另一个构建插件以在重新打包后更新JAR,确保它低于spring-boot-maven-plugin

            <plugin>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.6.0</version>
            <groupId>org.codehaus.mojo</groupId>
            <executions>
                <execution>
                    <id>update build artifacts</id>
                    <phase>package</phase>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                    <configuration>
                        <executable>jar</executable>
                        <commandlineArgs>-uvf target/your.jar .profile</commandlineArgs>
                    </configuration>
                </execution>
            </executions>
        </plugin>
© www.soinside.com 2019 - 2024. All rights reserved.