我们是4名开发人员,致力于基于maven的java项目。我们每个人都有一个特定的database.properties文件,指向每个开发人员的数据库模式。
我们目前面临的问题是,我们有时无意中将每个开发人员的log4j.properties文件或 database.properties文件提交给,这就导致了一个明显的问题。
另一方面,如果我们将这些文件放到Tomcat的/lib目录中,我们可能会忘记将它们包含到交付的生产应用程序中。
能否请任何人提供建议或建议最佳做法以解决这一问题?
发布于 2012-08-21 08:56:15
您应该开始一起使用Maven Profiles和Maven资源过滤。
如果将这两种技术结合在一起,那么每个用户都可以在%USER_HOME%/.m2/settings.xml文件中定义他的配置文件,而database.properties和log4j.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>你应该能够对你的文件做同样的事情。
发布于 2012-08-21 08:51:19
使用Git,只在您复制本地引用时才向主服务器推送。
https://stackoverflow.com/questions/12051141
复制相似问题