2011-01-11 153 views
2

如果我有Maven構建應用程序的配置文件爲不同的環境設置(如產品與開發,定義不同的數據庫設置和類似的東西)'安裝'的目標似乎不有道理,因爲我不知道哪個環境安裝到我的回購 - 我剛剛得到com.example.myproject:myapp:0.0.1。Maven配置文件和安裝

我誤解了一些東西,或者是配置文件應該與其他目標一起使用嗎?

回答

9

那麼,你可以使用classifier屬性,以便每個配置文件創建一個分類器的jar,即每個環境的獨特jar。這裏有一個代碼片段來說明這一點。當與dev輪廓(mvn -P dev install)運行時,它會創建一個罐子-dev分類,像myapp-dev-0.0.1.jar

<project> 
... 
    <properties> 
     <env></env> 
    </properties> 
... 

    <build> 
     <plugins> 
      ... 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <configuration> 
        <classifier>${env}</classifier> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 


    <profiles> 
     ... 
     <profile> 
      <id>dev</id> 
      <properties> 
       <env>dev</env> 
      </properties> 
      ... 
     </profile> 
    </profiles> 

</project> 
0

您運行通常的mvn命令,並可以使用-P http://maven.apache.org/guides/introduction/introduction-to-profiles.html選擇適當的配置文件,因此它取決於您選擇的配置文件,安裝在存儲庫中的配置文件。

+0

是啊,這就是問題所在 - 那裏面有一個版本一個無形的定製就客戶關注。查看更多文檔可以看出「分類器」屬性...正在研究... – Brabster 2011-01-11 11:32:04