SpringBoot+Maven 多模块项目的构建、运行、打包实战

2025-05-29 0 102

本篇文章主要介绍了springboot+maven 多模块项目的构建、运行、打包,分享给大家,具体如下:

项目使用的工具:

  1. intellij idea
  2. jdk 1.8
  3. apache-maven-3.3.9

项目的目录:

  1. 主项目 springboot-multi
  2. 子模块 entity、dao、service、web

一、使用idea创建一个springboot项目 : file -> new -> project 项目名称为springboot-multi

二、删除项目中的src目录,把pom.xml中的项目打包方式改为pom,如下:

?

1

2

3

4

5
<groupid>com.example</groupid>

<artifactid>springboot-multi</artifactid>

<version>0.0.1-snapshot</version>

<!-- 此处改为pom -->

<packaging>pom</packaging>

三、创建springboot-multi项目的子模块,在项目上右键单击,选择:new -> module。

四、创建四个子模块后,删除子模块中 src/main/java、src/main/java下的所有文件(如果没有文件跳过此操作),只保留web子模块的springboot的application主启动类。

五、主项目pom.xml (注意<modules>标签是否指定了子模块)

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60
<modelversion>4.0.0</modelversion>

<groupid>com.example</groupid>

<artifactid>springboot-multi</artifactid>

<version>0.0.1-snapshot</version>

<!-- 此处改为pom -->

<packaging>pom</packaging>

<name>springboot-multi</name>

<description>demo project for spring boot</description>

<modules>

<module>web</module>

<module>service</module>

<module>dao</module>

<module>entity</module>

</modules>

<parent>

<groupid>org.springframework.boot</groupid>

<artifactid>spring-boot-starter-parent</artifactid>

<version>1.5.10.release</version>

<relativepath/> <!-- lookup parent from repository -->

</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>

</dependencies>

<!--指定使用maven打包-->

<build>

<plugins>

<plugin>

<groupid>org.apache.maven.plugins</groupid>

<artifactid>maven-compiler-plugin</artifactid>

<version>3.1</version>

<configuration>

<source>${java.version}</source>

<target>${java.version}</target>

</configuration>

</plugin>

<plugin>

<groupid>org.apache.maven.plugins</groupid>

<artifactid>maven-surefire-plugin</artifactid>

<version>2.19.1</version>

<configuration>

<skiptests>true</skiptests> <!--默认关掉单元测试 -->

</configuration>

</plugin>

</plugins>

</build>

六、web子模块pom.xml(依赖service、dao、entity子模块)

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55
<modelversion>4.0.0</modelversion>

<groupid>com.example</groupid>

<artifactid>web</artifactid>

<version>0.0.1-snapshot</version>

<packaging>jar</packaging>

<name>web</name>

<description>demo project for spring boot</description>

<parent>

<groupid>com.example</groupid>

<artifactid>springboot-multi</artifactid>

<version>0.0.1-snapshot</version>

<relativepath>../pom.xml</relativepath>

</parent>

<dependencies>

<dependency>

<groupid>com.example</groupid>

<artifactid>service</artifactid>

<version>0.0.1-snapshot</version>

</dependency>

<dependency>

<groupid>com.example</groupid>

<artifactid>dao</artifactid>

<version>0.0.1-snapshot</version>

</dependency>

<dependency>

<groupid>com.example</groupid>

<artifactid>entity</artifactid>

<version>0.0.1-snapshot</version>

</dependency>

</dependencies>

<!--spring boot打包的话需要指定一个唯一的入门-->

<build>

<plugins>

<plugin>

<groupid>org.springframework.boot</groupid>

<artifactid>spring-boot-maven-plugin</artifactid>

<configuration>

<!-- 指定该main class为全局的唯一入口 -->

<mainclass>com.example.webapplication</mainclass>

<layout>zip</layout>

</configuration>

<executions>

<execution>

<goals>

<goal>repackage</goal><!--可以把依赖的包都打包到生成的jar包中-->

</goals>

</execution>

</executions>

</plugin>

</plugins>

</build>

七、service子模块pom.xml(依赖 dao 、entity子模块)

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29
<modelversion>4.0.0</modelversion>

<groupid>com.example</groupid>

<artifactid>service</artifactid>

<version>0.0.1-snapshot</version>

<packaging>jar</packaging>

<name>service</name>

<description>demo project for spring boot</description>

<parent>

<groupid>com.example</groupid>

<artifactid>springboot-multi</artifactid>

<version>0.0.1-snapshot</version>

<relativepath>../pom.xml</relativepath>

</parent>

<dependencies>

<dependency>

<groupid>com.example</groupid>

<artifactid>dao</artifactid>

<version>0.0.1-snapshot</version>

</dependency>

<dependency>

<groupid>com.example</groupid>

<artifactid>entity</artifactid>

<version>0.0.1-snapshot</version>

</dependency>

</dependencies>

八、dao子模块pom.xml (依赖entity子模块)

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24
<modelversion>4.0.0</modelversion>

<groupid>com.example</groupid>

<artifactid>dao</artifactid>

<version>0.0.1-snapshot</version>

<packaging>jar</packaging>

<name>dao</name>

<description>demo project for spring boot</description>

<parent>

<groupid>com.example</groupid>

<artifactid>springboot-multi</artifactid>

<version>0.0.1-snapshot</version>

<relativepath>../pom.xml</relativepath>

</parent>

<dependencies>

<dependency>

<groupid>com.example</groupid>

<artifactid>entity</artifactid>

<version>0.0.1-snapshot</version>

</dependency>

</dependencies>

九、entity子模块

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16
<modelversion>4.0.0</modelversion>

<groupid>com.example</groupid>

<artifactid>entity</artifactid>

<version>0.0.1-snapshot</version>

<packaging>jar</packaging>

<name>entity</name>

<description>demo project for spring boot</description>

<parent>

<groupid>com.example</groupid>

<artifactid>springboot-multi</artifactid>

<version>0.0.1-snapshot</version>

<relativepath>../pom.xml</relativepath>

</parent>

十、pom.xml文件中需要注意的就是:

  1. 主项目的modules标签指定的子模块是否正确
  2. 子模块之间的依赖
  3. 子模块的parent标签

十一、web子模块的application启动类:

?

1

2

3

4

5

6

7

8

9

10

11

12

13
@restcontroller

@springbootapplication

public class webapplication {

public static void main(string[] args) {

springapplication.run(webapplication.class, args);

}

@requestmapping(value = "/test",method = requestmethod.get)

public string test(){

return "test success";

}

}

十二、执行main方法启动项目,访问localhost:8080/test,出现如下页面表示项目搭建成功:

SpringBoot+Maven 多模块项目的构建、运行、打包实战

十三、项目打包命令: mvn clean package 或者 使用右边工具栏的图形化界面打包也可以:

SpringBoot+Maven 多模块项目的构建、运行、打包实战

十四、打包成功日志:

SpringBoot+Maven 多模块项目的构建、运行、打包实战

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:https://blog.csdn.net/zeketao/article/details/79413919

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 SpringBoot+Maven 多模块项目的构建、运行、打包实战 https://www.kuaiidc.com/111970.html

相关文章

发表评论
暂无评论