Maven中的用户和项目特定设置

时间:2011-03-07 18:42:10

标签: configuration properties maven branch settings

我们同时开发项目的多个分支。每个开发人员都有多个工作副本,每个工作副本使用自己的数据库模式。 (每个分支通常会有一个工作副本,但有时甚至每个分支都有一个工作副本。)我们需要让Maven知道数据库凭据(对于db-migration插件,对于单元测试,对于dev实例)小服务程序)。

我们无法将凭据放在pom.xml中,因为每个开发人员可能使用不同的数据库模式名称。我们无法将凭据放在settings.xml中,因为每个开发人员都使用多个架构。

我们将凭据放在哪里?

例如,http://code.google.com/p/c5-db-migration/描述了pom.xml中需要存在数据库凭据,但我想将它们外部化为不受版本控制的文件。

2 个答案:

答案 0 :(得分:2)

您可以将它们放入项目目录中的属性文件中,但该文件从源代码管理中排除。

使用Maven,可以使用<build><filters><filter>元素as instructed here从外部文件中读取属性。

答案 1 :(得分:2)

阅读以下答案:

或只是:


<project>
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>properties-maven-plugin</artifactId>
        <version>1.0</version>
        <executions>
          <execution>
            <phase>initialize</phase>
            <goals>
              <goal>read-project-properties</goal>
            </goals>
          </execution>
          <configuration>
            <files>
              <file>dev.properties</file> <======== IT IS!!!!!
            </files>
          </configuration>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>