gpt4 book ai didi

java - 属性文件 - 远程 x 本地

转载 作者:行者123 更新时间:2023-12-02 02:28:34 26 4
gpt4 key购买 nike

我有一个属性文件来处理我的数据源。该文件由properties maven 插件加载。加载后,我在 wildfly Swarm 插件上使用。

数据库.属性:

database.server=localhost
database.server.port=3306
database.name=XXXXXXX
database.options=
database.user=XXXXXXX
database.password=XXXXXXXX
database.pool.min=1
database.pool.max=10
database.pool.preFill=true

属性maven插件:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>${properties-maven.version}</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
</execution>
</executions>
<configuration>
<files>
<file>src/main/resources/database.properties</file>
</files>
</configuration>
</plugin>

Wildfly Swarm 插件:

<plugin>
<groupId>org.wildfly.swarm</groupId>
<artifactId>wildfly-swarm-plugin</artifactId>
<version>${version.wildfly.swarm}</version>
<configuration>
<properties>
<swarm.datasources.data-sources.CondominioDs.driver-name>mysql</swarm.datasources.data-sources.CondominioDs.driver-name>
<swarm.datasources.data-sources.CondominioDs.connection-url>jdbc:mysql://${database.server}:${database.server.port}/${database.name}${database.options}</swarm.datasources.data-sources.CondominioDs.connection-url>
<swarm.datasources.data-sources.CondominioDs.initial-pool-size>${database.pool.min}</swarm.datasources.data-sources.CondominioDs.initial-pool-size>
<swarm.datasources.data-sources.CondominioDs.max-pool-size>${database.pool.max}</swarm.datasources.data-sources.CondominioDs.max-pool-size>
<swarm.datasources.data-sources.CondominioDs.pool-prefill>${database.pool.preFill}</swarm.datasources.data-sources.CondominioDs.pool-prefill>
<swarm.datasources.data-sources.CondominioDs.user-name>${database.user}</swarm.datasources.data-sources.CondominioDs.user-name>
<swarm.datasources.data-sources.CondominioDs.password>${database.password}</swarm.datasources.data-sources.CondominioDs.password>
<swarm.datasources.data-sources.CondominioDs.check-valid-connection-sql>SELECT 1</swarm.datasources.data-sources.CondominioDs.check-valid-connection-sql>
</properties>
</configuration>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>

一切正常。远程和本地均可。

我也使用 Git,并且有两个分支。一个(主)用于更新我的远程存储库,另一个(开发)用于编码和测试。

最后,我使用 Heroku 来部署我的应用程序,并为此使用 Maven 插件(而不是 git)。

我的问题是关于数据源属性文件的。我不知道如何拥有两个版本的文件。一个在我(本地)编码时使用,另一个在我需要在 Heroku 上部署应用程序时使用。

当然,本地数据库的地址、用户名和密码与远程数据库是不同的。

此时,我将远程信息放入属性文件中并部署在 Heroku 上。然后我带着本地信息回来继续编码。

最佳答案

我发现您正在使用属性格式进行配置;我建议改用 YAML 格式。使用它,WildFly Swarm 支持配置文件。

就您的情况而言,这可能相当典型,我会将通用配置放入 project-defaults.yml 中,将本地配置放入 project-local.yml 中,将您的 Heroku/生产配置放入 project-prod.yml (或 project-heroku.yml,您的选择)。然后,您在运行应用程序时选择正确的配置:java -jar myapp-swarm.jar -Slocal(或-Sprod)。

有关详细信息,请参阅 http://docs.wildfly-swarm.io/2017.11.0/#_configuration_of_a_wildfly_swarm_application

关于java - 属性文件 - 远程 x 本地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47474501/

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