java工程很多模块maven怎么构建
发布网友
发布时间:2023-06-08 03:19
我来回答
共1个回答
热心网友
时间:2024-03-13 20:47
使用OSGI框架吧, 具体可百度,
大概构成是一个主项目里面有多个子模块,这些模块可以当作一个项目,但是相互之间是用pom.xml文件强制依赖构建的
主POM示例:
<project xmlns="
xsi:schemaLocation="
<modelVersion>4.0.0</modelVersion>
<groupId>org.test</groupId>
<artifactId>java-demo</artifactId>
<packaging>pom</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>test</name>
<moles>
<mole>test-one</mole>
<mole>test-two</mole>
</moles>
<properties>
<project.version>0.0.1-SNAPSHOT</project.version>
<java.version>1.8</java.version>
</properties>
<dependencies> <!--主项目用依赖-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<dependencyManagement><!--子模块依赖管理 要选择在这里加了管理版本,子模块才能使用-->
<dependencies>
<dependency> <!-- 子模块申明 -->
<groupId>org.test</groupId>
<artifactId>test-one</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.test</groupId>
<artifactId>test-two</artifactId>
<version>${project.version}</version>
</dependency>
<!-- datasource 其他依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.11</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
模块1 pom:
<project xmlns="
xsi:schemaLocation="
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.test</groupId>
<artifactId>java-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>test-one</artifactId>
<dependencies>
<dependency> <!--这里的依赖要在主pom里管理,这里不用指定版本 -->
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
</dependencies>
</project>
模块2 pom:
<project xmlns="
xsi:schemaLocation="
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.test</groupId>
<artifactId>java-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>test-two</artifactId>
<dependencies>
<dependency> <!--这里是依赖 其他模块-->
<groupId>org.test</groupId>
<artifactId>test-one</artifactId>
</dependency>
<dependency> <!--这里的依赖要在主pom里管理,这里不用指定版本 -->
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
</dependencies>
</project>
大概写了下, 希望对你有帮助
文件目录是这样的