2013-09-27 152 views
1

我在父Maven項目中有兩個模塊(maven項目):android-module和server-module。這兩個模塊使用相同的模型(POJO - 類)。所以我想要從這兩個模塊提取模型並在父項目中創建新模塊。Maven模塊層次結構

所以我whant這樣的:

--Project 
|--android-module 
| -- pom.xml 
|--server-module 
| -- pom.xml 
    -- pom.xml 

翻拍這樣:

--Project 
|--android-module 
| -- pom.xml 
|--server-module 
| -- pom.xml 
|--models-module 
| -- pom.xml 
    -- pom.xml 

同時我想根pom.xml的編譯和構建從模型模塊和存儲罐中罐中,我的本地存儲庫。然後,孩子pom.xml從儲存庫中取出幷包含在android和服務器模塊中。

問題:如何告訴maven自動生成並將jar存儲在本地存儲庫中。

可能嗎?如果沒有 - 請給我一些想法.... Thnks

+0

是否這是可能的你的整個問題? – chrylis

+0

哦,對不起。我的問題是如何說maven自動構建和存儲罐子 –

+1

你只是要求'mvn:install'? – chrylis

回答

0

只需運行mvn install。這將安裝打包的jar文件放進〜/ .m2目錄

當地回購務必從根本POM

0

該解決方案發現運行Maven。這很容易。

父的pom.xml:

... 
<groupId>com.lutshe</groupId> 
<artifactId>doiter</artifactId> 
<version>1.0-SNAPSHOT</version> 
<packaging>pom</packaging> 

<modules> 
    <module>doiter-android</module> 
    <module>doiter-server</module> 
    <module>doiter-model</module> 
</modules> 
... 

child1(機器人項目)的pom.xml:

... 
<parent> 
    <groupId>com.lutshe</groupId> 
    <artifactId>doiter</artifactId> 
    <version>1.0-SNAPSHOT</version> 
</parent> 

<groupId>com.lutshe</groupId> 
<artifactId>doiter-android</artifactId> 
<version>1.0-SNAPSHOT</version> 
<packaging>apk</packaging> 

<dependencies> 
    <dependency> 
     <groupId>com.lutshe</groupId> 
     <artifactId>doiter-models</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </dependency> 
</dependencies> 
... 

的child2(服務器)的pom.xml:

... 
<parent> 
    <groupId>com.lutshe</groupId> 
    <artifactId>doiter</artifactId> 
    <version>1.0-SNAPSHOT</version> 
</parent> 

<groupId>com.doiter.server</groupId> 
<artifactId>doiter-server</artifactId> 
<version>0.1.0</version> 
<packaging>jar</packaging> 

<dependencies> 
    <dependency> 
     <groupId>com.lutshe</groupId> 
     <artifactId>doiter-models</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </dependency> 
</dependencies> 
... 

child3(共享模型)pom.xml:

... 
<parent> 
    <groupId>com.lutshe</groupId> 
    <artifactId>doiter</artifactId> 
    <version>1.0-SNAPSHOT</version> 
</parent> 

<groupId>com.lutshe</groupId> 
<artifactId>doiter-model</artifactId> 
<version>1.0-SNAPSHOT</version> 
...