gpt4 book ai didi

java - 处理每个开发人员的资源,例如 java 项目中的 database.properties 或 log4j.properties

转载 作者:行者123 更新时间:2023-12-02 07:37:12 24 4
gpt4 key购买 nike

我们有 4 名开发人员,正在开发一个基于 Maven 的 Java Web 项目。我们每个人都有一个特定的 database.properties 文件,该文件指向每个开发人员的数据库架构。

我们目前遇到的问题是我们有时会无意中提交每个开发人员的database.properties或log4j.properties文件,从而导致明显的问题。

另一方面,如果我们将这些文件放入 Tomcat 的 /lib 目录中,我们可能会忘记将它们包含到发布的生产应用程序中。

任何人都可以提供建议或建议最佳实践来解决此问题吗?

最佳答案

您应该开始使用Maven ProfilesMaven Resource Filtering一起。

如果将这两种技术结合起来,那么每个用户都可以在 %USER_HOME%/.m2/settings.xml 文件中定义自己的配置文件,而 database.propertieslog4j.properties 文件使用资源过滤从用户配置文件属性中获取用户特定属性。

我一直在使用这种技术通过设置如下结构来支持不同的数据库:

src
|-main
|-filters
| |-derby.properties
| |-h2.properties
| |-mssql.properties
| |-mysql.properties
|-templates
|-db.properties

在我的pom.xml

<profiles>
<profile>
<id>derby</id>
<build>
<filters>
<filter>src/main/filters/derby.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/templates</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</profile>
<profile>
<id>mysql</id>
<build>
<filters>
<filter>src/main/filters/mysql.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/templates</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</profile>
<profile>
<id>mssql</id>
<build>
<filters>
<filter>src/main/filters/mssql.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/templates</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</profile>
<profile>
<id>h2</id>
<build>
<filters>
<filter>src/main/filters/h2.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/templates</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</profile>
</profiles>

您应该能够对您的文件执行同样的操作。

关于java - 处理每个开发人员的资源,例如 java 项目中的 database.properties 或 log4j.properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12051141/

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