首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理java项目中的每个开发人员资源,如database.properties或log4j.properties。

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

Stack Overflow用户
提问于 2012-08-21 08:42:23
回答 2查看 274关注 0票数 0

我们是4名开发人员,致力于基于maven的java项目。我们每个人都有一个特定的database.properties文件,指向每个开发人员的数据库模式。

我们目前面临的问题是,我们有时无意中将每个开发人员的log4j.properties文件或 database.properties文件提交给,这就导致了一个明显的问题。

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

能否请任何人提供建议或建议最佳做法以解决这一问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-21 08:56:15

您应该开始一起使用Maven ProfilesMaven资源过滤

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

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

代码语言:javascript
复制
src
  |-main
       |-filters
       |       |-derby.properties
       |       |-h2.properties
       |       |-mssql.properties
       |       |-mysql.properties
       |-templates
                 |-db.properties

在我的pom.xml

代码语言:javascript
复制
<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>

你应该能够对你的文件做同样的事情。

票数 2
EN

Stack Overflow用户

发布于 2012-08-21 08:51:19

使用Git,只在您复制本地引用时才向主服务器推送。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12051141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档