2013-09-27 157 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> 
...