1

我在父 maven 项目中有两个模块(maven 项目):android-module 和 server-module。这两个模块使用相同的模型(POJO - 类)。所以我想从两个模块中提取模型并在父项目中创建新模块。

所以我想要这个:

--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 从模型模块编译和构建 jar 并将 jar 存储在我的本地存储库中。然后子 pom.xml 从存储库中获取并包含在 android 和服务器模块中。

问题:如何告诉 maven 自动在我的本地存储库中构建和存储 jar。

可能吗?如果没有 - 请给我一些想法.... Thnks

4

2 回答 2

0

找到了解决方案。这要容易得多。

父 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 (android 项目) 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>
...
于 2013-09-28T11:43:38.857 回答
0

跑吧mvn install。这会将打包的 jar 安装到 ~/.m2 中的本地仓库中

确保从根 pom 运行 maven

于 2013-09-27T15:01:16.277 回答