如何告诉 spring 引导根据服务器加载哪些 属性 文件?
How to tell spring boot which property files to load according to the server?
我有这种情况需要根据服务器名称加载属性文件。
我在这个结构中有resource
。
我有 2 个不同的服务器。比方说 SERV-A 和 SERV-B,这些服务器中的每一个都有各自独立的 e1、e2 服务器。例如.. SERV-A-e1, SERV-A-e2, SERV-B-e1, SERV-B-e2
。代码库相同。
resource - |
|-SERV-A - |
|-application.properties
|-application-e1.properties
|-application-e2.properties
|-SERV-B - |
|-application.properties
|-application-e1.properties
|-application-e2.properties
所以我希望当我在服务器 SERV-A 上部署我的应用程序时,它应该从 resource/SERV-A
读取 application.properties 和 application-e1.properties 文件,当我将它部署在服务器 SERV 上时-B 那么它应该从 resource/SERV-A
读取
我认为您可以使用基于配置文件的属性来实现此目的。 Docs here. But you may need to play with the folder structure, you may need to bring SERV-B
and SERV-A
to the application properties name like application-serv-a.properties
and application-serv-a-e1.properties
. Obviously doesn't scale very much with many servers. There is a similar question
我想您可以像这样利用活动配置文件:
-Dspring.profiles.active=application-serv-a-e1.properties
谢谢@Anton Belev。
我能够解决这个问题。
我重新创建了 resource
结构。
resource - |
|----------
|-application.properties
|-application-SerA-e1.properties
|-application-SerA-e2.properties
|-application-SerB-e1.properties
|-application-SerB-e2.propertie
所以现在我想在 SERVER-A 上部署。我可以简单地给出一个简单的 java 命令并让它 运行 正确的属性集。
java -jar -Dspring.profiles.active=SerA-e1 /path/to/jar/NameOFYourJar.jar &
我有这种情况需要根据服务器名称加载属性文件。
我在这个结构中有resource
。
我有 2 个不同的服务器。比方说 SERV-A 和 SERV-B,这些服务器中的每一个都有各自独立的 e1、e2 服务器。例如.. SERV-A-e1, SERV-A-e2, SERV-B-e1, SERV-B-e2
。代码库相同。
resource - |
|-SERV-A - |
|-application.properties
|-application-e1.properties
|-application-e2.properties
|-SERV-B - |
|-application.properties
|-application-e1.properties
|-application-e2.properties
所以我希望当我在服务器 SERV-A 上部署我的应用程序时,它应该从 resource/SERV-A
读取 application.properties 和 application-e1.properties 文件,当我将它部署在服务器 SERV 上时-B 那么它应该从 resource/SERV-A
我认为您可以使用基于配置文件的属性来实现此目的。 Docs here. But you may need to play with the folder structure, you may need to bring SERV-B
and SERV-A
to the application properties name like application-serv-a.properties
and application-serv-a-e1.properties
. Obviously doesn't scale very much with many servers. There is a similar question
我想您可以像这样利用活动配置文件:
-Dspring.profiles.active=application-serv-a-e1.properties
谢谢@Anton Belev。
我能够解决这个问题。
我重新创建了 resource
结构。
resource - |
|----------
|-application.properties
|-application-SerA-e1.properties
|-application-SerA-e2.properties
|-application-SerB-e1.properties
|-application-SerB-e2.propertie
所以现在我想在 SERVER-A 上部署。我可以简单地给出一个简单的 java 命令并让它 运行 正确的属性集。
java -jar -Dspring.profiles.active=SerA-e1 /path/to/jar/NameOFYourJar.jar &