我在父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编译并从models-module构建jar并在我的本地存储库中存储jar。然后,子pom.xml从存储库中获取它并包含在android和服务器模块中。
问题:如何告诉maven自动在我的本地存储库中构建和存储jar。
有可能吗?如果没有 - 拜托,请给我一些想法......笨蛋
答案 0 :(得分:0)
只需运行mvn install
。这会将打包的jar安装到〜/ .m2
确保从根pom运行maven
答案 1 :(得分: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(server)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>
...