我有个人资料:dev,prod。
我的主页位于/src/main/resources/static/index.html
如何使用不同的个人资料制作不同的主页?
例如,/src/main/resources/static-dev/index.html
和/src/main/resources/static-prod/index.html
。
有什么建议吗?
答案 0 :(得分:3)
最后我得到了一个简单的解决方案。
使用其他配置文件application.properties
和application-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
前缀。
除非所有您的文件在dev
和prod
之间分开,否则您可能需要一个明确的列表,列出哪些请求应该作为前缀。