使用Maven搭建多模块项目

简介: 一. jeesite4项目文件夹下有五个文件, 他们通过Maven构成了项目的四个模块, 文件结构如下(去掉其他不相关文件):其中root为根, 根下包含了四个模块, common(公共模块), modules/core(核心模块), parent(父模块), web(web业务模块)导入项目时, 只需要导入root中的pom.

一. jeesite4项目文件夹下有五个文件, 他们通过Maven构成了项目的四个模块, 文件结构如下(去掉其他不相关文件):01

其中root为根, 根下包含了四个模块, common(公共模块), modules/core(核心模块), parent(父模块), web(web业务模块)
导入项目时, 只需要导入root中的pom.xml即可将项目所有模块导入

二. root中pom.xml部分代码如下:

<groupId>com.jeesite</groupId>
<artifactId>jeesite-root</artifactId>
<version>4.1.3-SNAPSHOT</version>
<packaging>pom</packaging>

<modules>
    <module>../parent</module>
    <module>../common</module>
    <module>../modules/core</module>
    <module>../web</module>
</modules>
  1. 打包方式为: pom
  2. modules标签中声名了该项目的四个模块(指定模块文件夹的相对路径)

三. parent中pom.xml部分代码如下:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.6.RELEASE</version>
</parent>

<groupId>com.jeesite</groupId>
<artifactId>jeesite-parent</artifactId>
<version>4.1.3-SNAPSHOT</version>
<packaging>pom</packaging>
  1. parent标签指定该模块继承自spring boot(Maven中的继承与Java中的继承类似, 作用是复用)
  2. 打包方式为: pom

四. common中pom.xml部分代码如下:

<parent>
    <groupId>com.jeesite</groupId>
    <artifactId>jeesite-parent</artifactId>
    <version>4.1.3-SNAPSHOT</version>
    <relativePath>../parent/pom.xml</relativePath>
</parent>

<artifactId>jeesite-common</artifactId>
<packaging>jar</packaging>
  1. relativePath指定父项目, 若不写, 默认为"../pom.xml", 若在指定处找不到父项目, 则从本地仓库中寻找, 还找不到则从远程仓库中寻找.
  2. 打包方式为jar

五. module/core中pom.xml部分代码如下:

<parent>
    <groupId>com.jeesite</groupId>
    <artifactId>jeesite-parent</artifactId>
    <version>4.1.3-SNAPSHOT</version>
    <relativePath>../../parent/pom.xml</relativePath>
</parent>

<artifactId>jeesite-module-core</artifactId>
<packaging>jar</packaging>

六. web中pom.xml部分代码如下:

<parent>
    <groupId>com.jeesite</groupId>
    <artifactId>jeesite-parent</artifactId>
    <version>4.1.3-SNAPSHOT</version>
    <relativePath>../parent/pom.xml</relativePath>
</parent>

<artifactId>jeesite-web</artifactId>
<packaging>war</packaging>

这里打包方式为war

相关文章
|
11天前
|
Java Apache Maven
Maven 项目文档
在`C:/MVN/consumerBanking`中创建Maven Java项目,使用命令`mvn archetype:generate`生成基础结构。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`,版本至少为3.3和2.7,以避免`NoClassDefFoundError`。运行`mvn site`生成文档。
|
3天前
|
Java Maven
Maven如何创建Maven web项目
Maven如何创建Maven web项目
|
6天前
|
Java Apache Maven
Maven 项目文档
使用Maven创建`consumerBanking`项目,执行`mvn archetype:generate`命令初始化。确保`pom.xml`包含`maven-site-plugin`至少版本3.3和`maven-project-info-reports-plugin`至少版本2.7,以避免NoClassDefFoundError。升级插件解决文档构建问题。
|
11天前
|
Java Apache Maven
Maven 项目文档
在`C:/MVN/consumerBanking`,使用`mvn archetype:generate`命令创建Java项目后,确保更新`pom.xml`,添加`maven-site-plugin`和`maven-project-info-reports-plugin`,至少版本3.3和2.7。运行`mvn site`时遇到`NoClassDefFoundError`,需升级`maven-site-plugin`至3.3以上以解决。
|
6天前
|
存储 安全 Java
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
16 4
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
|
1天前
|
Java Shell Apache
Maven 项目文档
使用 Maven 创建 `consumerBanking` 项目,命令行输入: ```sh mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 确保 `pom.xml` 包含最新 `maven-site-plugin`(v3.3+)和 `maven-project-info-reports-plugin`(v2.7+)
|
2天前
|
数据可视化 Java Apache
Maven Dependency Tree:深入理解你的项目依赖
Maven Dependency Tree:深入理解你的项目依赖
10 0
|
4天前
|
SpringCloudAlibaba Java Maven
关于拆分boot工程的踩坑之maven多模块间的依赖关系处理
关于拆分boot工程的踩坑之maven多模块间的依赖关系处理
|
6天前
|
Java Maven
Maven项目打包成jar项目后运行报错误: 找不到或无法加载主类 Main.Main 和 jar中没有主清单属性解决方案
Maven项目打包成jar项目后运行报错误: 找不到或无法加载主类 Main.Main 和 jar中没有主清单属性解决方案
14 0
|
6天前
|
缓存 Java Maven
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
14 0