2011-03-07 59 views
6

我們同時開發項目的多個分支。每個開發人員都有多個工作副本,每個工作副本使用自己的數據庫模式。 (每個分支通常會有一個工作副本,但有時甚至每個分支有多個工作副本。)我們需要讓Maven知道數據庫憑證(對於db-migration插件,對於單元測試,對於小服務程序)。Maven中的用戶和項目特定設置

我們不能將憑證放在pom.xml中,因爲每個開發人員可能使用不同的數據庫模式名稱。我們無法將憑證放入settings.xml,因爲每個開發人員都使用多個架構。

我們在哪裏放置證書?

例如,http://code.google.com/p/c5-db-migration/描述了DB憑證需要存在於pom.xml中,但我想將它們外部化爲不受版本控制的文件。

回答

2

您可以將它們放到項目目錄內的屬性文件中,但不包含在源代碼管理中。

使用Maven,可以使用<build><filters><filter>元素as instructed here從外部文件讀取屬性。

+0

這就是我想要的!但如何告訴Maven閱讀屬性文件?我搜索和搜索,但無法找到它。非常感謝你的回答。 – hibbelig 2011-03-07 20:17:14

+1

我不知道如何使用Maven讀取屬性文件。既然是Maven,可能會有一個插件。 ;)使用Maven 2可以使用每個項目的profiles.xml文件,但Maven 3已經取消了對它的支持。 – 2011-03-07 22:38:53

+0

我剛剛發現如何使用Maven讀取外部屬性文件。我已經更新了答案。 – 2011-03-07 22:44:57

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>