SpringBoot使用Maven建立多模块工程(一)

简介: SpringBoot使用Maven建立多模块工程(一)

项目多模块似乎已经很常见了,这里分享一下多模块构建过程。

环境:idea+SpringBoot2.0。

目标:父工程(打包pom),子工程(api-jar包,让web工程依赖)以及web主工程(打war包)。


【1】构建父工程

步骤:new-project-maven

这里有两点,工程和maven。另外创建父工程,不用使用模板即可。



如下图所示,把src中的内容删掉,然后修改pom文件:



修改后的结果如下图:


【2】创建共享工程api

该工程打jar包,让其他工程都可以依赖,该工程非可执行jar。

步骤:父工程右键 – new Module – Maven 同样不使用模板(这个自行斟酌)。


创建后的hhapi工程如下:



此时再次查看父工程的pom会发现多出module依赖:

 <modules>
  <module>hhapi</module>
 </modules>


在hhapi pom中添加额外依赖,版本号由父工程管理(当然也可以定义在api工程中):

 <dependencies>
    <dependency>
         <groupId>dom4j</groupId>
         <artifactId>dom4j</artifactId>
     </dependency>
 </dependencies>


创建类目录并添加工具类:



【3】创建主项目工程-Web工程

该工程为web工程,并打war包,创建方式也不再是maven。

步骤:父工程右键 – new Module – Spring Initializer


选择需要的模块(这里添加web):



工程结构和pom文件如下:

其parent引用的是spring-boot-starter-parent并非我们创建的父工程。

另外,并没有在父工程的pom中添加模块依赖:



修改pom文件,将其parent指向我们创建的父工程

<modelVersion>4.0.0</modelVersion>
<groupId>com.jane</groupId>
<artifactId>hh-core</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>hh-core</name>
<description>Demo project for Spring Boot</description>
<!--父工程指向hh-parent-->
<parent>
  <groupId>com.jane</groupId>
  <artifactId>hh-parent</artifactId>
  <version>1.0-SNAPSHOT</version>
</parent>
<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <java.version>1.8</java.version>
</properties>
<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
  </dependency>
</dependencies>
<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

添加hhapi依赖

<dependency>
  <groupId>com.jane</groupId>
  <artifactId>hh-api</artifactId>
  <version>1.0-SNAPSHOT</version>
</dependency>

将hhcore打war包,会发现hh-api在WEB-INF/lib目录下:



【4】测试Web工程

如下,创建controller测试调用hhapi的utils:


配置外部Tomcat并部署项目(不会的参考该篇博客):



使用浏览器进行访问:


目录
相关文章
|
1天前
|
JavaScript Java 测试技术
基于springboot+vue.js的基于工程教育认证的计算机课程管理平台附带文章和源代码设计说明文档ppt
基于springboot+vue.js的基于工程教育认证的计算机课程管理平台附带文章和源代码设计说明文档ppt
20 6
|
3天前
|
前端开发 Java Linux
性能工具之 Jmeter 通过 SpringBoot 工程启动
【5月更文挑战第22天】性能工具之 Jmeter 通过 SpringBoot 工程启动
22 8
性能工具之 Jmeter 通过 SpringBoot 工程启动
|
6天前
|
Java Maven Windows
小唐开始学 Spring Boot——(1)IDEA 2021.3.2和Maven的安装配置
小唐开始学 Spring Boot——(1)IDEA 2021.3.2和Maven的安装配置
|
8天前
|
安全 JavaScript Java
装饰工程|装饰工程管理系统-项目立项子系统的设计与实现|基于Springboot的装饰工程管理系统设计与实现(源码+数据库+文档)
装饰工程|装饰工程管理系统-项目立项子系统的设计与实现|基于Springboot的装饰工程管理系统设计与实现(源码+数据库+文档)
16 0
|
13天前
|
Java Maven
SpringBoot项目的用maven插件打包报Test错误
SpringBoot项目的用maven插件打包报Test错误
|
14天前
|
缓存 Java 关系型数据库
【超全详解】Maven工程配置与常见问题解决指南
检查Maven配置包括验证路径、设置pom.xml与Project Structure的Java版本。基本操作有`clean-compile`、`install`和`package`,其中`install`会将jar包放入本地仓库。获取他人工程后需修改配置、清除缓存、更新依赖等。配置文件应从Maven Repository找寻,选择稳定高版本。创建Maven工程可选archetype如`quickstart`或直接创建Java工程。基本目录结构遵循分层设计原则,常见问题包括假性导包、端口占用、时区问题等,对应解决方案包括删除本地仓库文件、调整系统设置或重新加载项目。
67 6
【超全详解】Maven工程配置与常见问题解决指南
|
14天前
|
Java Maven Kotlin
[AIGC] 请你写一遍博客介绍 “使用idea+kotinlin+springboot+maven 结合开发一个简单的接口“,输出markdown格式,用中文回答,请尽可能详细
[AIGC] 请你写一遍博客介绍 “使用idea+kotinlin+springboot+maven 结合开发一个简单的接口“,输出markdown格式,用中文回答,请尽可能详细
180 0
|
14天前
|
SQL Java 数据库连接
一文带你快速学会SpringBoot工程下MaBatis对数据的增删改查功能!
在SpringBoot项目中,已配置好Mybatis和Lombok,数据库tb_user有四条初始数据。需求是按ID删除用户。首先在UserMapper接口添加@Delete注解的删除方法,然后在单元测试类中测试此方法,成功删除ID为4的用户。删除方法可选返回影响的记录数,此处用void。参数名在#{...}内可自定义。通过配置mybatis日志在控制台显示SQL操作。
|
2天前
|
Java Maven
Maven 构建 Java 项目
使用Maven的`maven-archetype-quickstart`插件在C:\MVN下创建Java应用,命令:`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`。
|
4天前
|
Java Apache Maven
Maven 项目文档
本教程聚焦于创建Maven项目文档。在C:/MVN目录下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`生成`consumerBanking`项目。为解决`mvn site`命令执行时的`NoClassDefFoundError`

推荐镜像

更多