SpringBoot:如何制作特定于配置文件的资源

时间:2018-06-15 04:03:26

标签: java spring-boot

我有个人资料:dev,prod。

我的主页位于/src/main/resources/static/index.html

如何使用不同的个人资料制作不同的主页?

例如,/src/main/resources/static-dev/index.html/src/main/resources/static-prod/index.html

有什么建议吗?

4 个答案:

答案 0 :(得分:3)

最后我得到了一个简单的解决方案。

使用其他配置文件application.propertiesapplication-prod.properties

我们每个人都配置了不同的资源位置。例如spring.resources.static-locations=classpath:/static-dev/

答案 1 :(得分:1)

两个资源都应放在/src/main/resources/static下(因为这是默认的静态资源文件夹IIRC),然后分为/prod/dev。然后在@GetMapping控制器中,根据您的情况选择返回/prod/index/dev/index

答案 2 :(得分:1)

如果您的项目支持Maven依赖关系管理器,Maven's build profiles可能可以帮助您:

<profile>
    <id>live</id>
    <properties>
        <environment>live</environment>
    </properties>
    <build>
        <resources>
            <resource>
                <directory>src/main/resources/${environment}</directory>
            </resource>
        </resources>
    </build>
</profile>

上面的代码应该在您的pom.xml中。在Spring属性中,您可以在一行中指定活动配置文件:

spring.profiles.active=live

这应该足以有条件地加载任何资源。

答案 3 :(得分:0)

您可以创建Filter,根据需要将请求网址从/index.html更改为/dev/index.html/prod/index.html

过滤器还可以为/dev/prod文件添加.css.js前缀。

除非所有您的文件在devprod之间分开,否则您可能需要一个明确的列表,列出哪些请求应该作为前缀。