SpringBoot+Maven多模块项目创建、依赖、打包可执行jar包部署测试

一,创建Maven多模块项目

工程结构:
父工程father子模块 dao
(用于持久化数据跟数据库交互)
子模块 entity
(实体类)子模块 service(处理业务逻辑)子模块 web
(页面交互接收、传递数据,唯一有启动类的模块)
关系:
web依赖 service、dao、entity service依赖 dao、entity dao依赖 entity entity谁都不依赖,独立的
SpringBoot+Maven多模块项目创建、依赖、打包可执行jar包部署测试_第1张图片
SpringBoot+Maven多模块项目创建、依赖、打包可执行jar包部署测试_第2张图片
接下来创建子模块 工程上右键 → new → Module 选择Spring Initaializr 下一步
SpringBoot+Maven多模块项目创建、依赖、打包可执行jar包部署测试_第3张图片
SpringBoot+Maven多模块项目创建、依赖、打包可执行jar包部署测试_第4张图片
重复以上动作,创建dao模块,service模块,web模块

service模块和entity模块一样什么都不需要引入

dao模块和web模块可以根据实际需求选择引入mysql,mybatis,redis,web这些
删除每个子模块中没用的文件,.mvn、.gitignore、daoiml、mvnw、mvnw.cmd文件只留下pom.xml

删除除了web模块以外其它模块中的Applicatin启动项,和resources目录下的application.properties配置文件
SpringBoot+Maven多模块项目创建、依赖、打包可执行jar包部署测试_第5张图片
整理过后的项目结构是这样的
SpringBoot+Maven多模块项目创建、依赖、打包可执行jar包部署测试_第6张图片
以上项目的基本结构就完成了,接下来建立各自依赖

二、依赖关系

打开父pom.xml修改打包方式jar为pom,注意:build内容也需要做替换,因为默认的spring-boot-maven-plugin这种方式,等到后期打包的时候他会一直提示你,你引入的依赖不存在!代码如下



    4.0.0
    
    com.miu
    father
    0.0.1-SNAPSHOT
    pom
 
    father
    Demo project for Spring Boot
 
    
        org.springframework.boot
        spring-boot-starter-parent
        3.15
         
    
 
    
        UTF-8
        UTF-8
        21
    
 
    
    
        entity
        dao
        service
        web
    
 
    
        
            org.springframework.boot
            spring-boot-starter
        
 
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    
 
    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.1
                
                    ${java.version}
                    ${java.version}
                
            
            
                org.apache.maven.plugins
                maven-surefire-plugin
                2.19.1
                
                    true    
                
            
        
    
 

需要注意,dao、service、entity这三个模块的pom.xml文件中不需要build 内容

entity 的 pom.xml 内容



    4.0.0
    com.miu
    entity
    0.0.1-SNAPSHOT
    jar
    entity
    Demo project for Spring Boot
    
    
        com.miu
        father
        0.0.1-SNAPSHOT
        ../pom.xml
    
    
        UTF-8
        UTF-8
        21
    
    
        
            org.springframework.boot
            spring-boot-starter
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

dao 的 pom.xml 内容和service 模块的 pom.xml 内容类似entity
web模块的 pom.xml 内容
注意build部分,因为web模块作为程序的入口启动,所以它需要打包,并且要指定Main Class



   4.0.0
   com.miu
   web
   0.0.1-SNAPSHOT
   jar
   web
   Demo project for Spring Boot
   
   
       com.miu
       father
       0.0.1-SNAPSHOT
       ../pom.xml
   
   
       UTF-8
       UTF-8
       21
   
   
       
           org.springframework.boot
           spring-boot-starter-data-redis
       
       
           org.springframework.boot
           spring-boot-starter-web
       
       
           org.mybatis.spring.boot
           mybatis-spring-boot-starter
           3.0.0
       
       
           mysql
           mysql-connector-java
           runtime
       
       
           org.springframework.boot
           spring-boot-starter-test
           test
       
       
       
           com.miu
           entity
           0.0.1-SNAPSHOT
       
       
       
           com.miu
           service
           0.0.1-SNAPSHOT
       
       
       
           com.miu
           dao
           0.0.1-SNAPSHOT
       
   
   
       
           
               org.springframework.boot
               spring-boot-maven-plugin
               
                   
                   com.miu.web.WebApplication
                   ZIP
               
               
                   
                       
                           repackage
                       
                   
               
           
       
   

三、代码测试

准备就绪后,开始运行web模块下的启动类进行测试
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0f7d597d5daf40c8a4735ef205c50d8b.png

四、打包可执行jar

所有的pom.xml有已经配置好了,只需要动手运行 package打包动作就行了,第一次打包不需要clean,记住以后每次打包之前clean一下
SpringBoot+Maven多模块项目创建、依赖、打包可执行jar包部署测试_第7张图片
SpringBoot+Maven多模块项目创建、依赖、打包可执行jar包部署测试_第8张图片
然后把这个jar文件放到一个文件夹,使用 java -jar web-0.0.1-SNAPSHOT.jar 命令来测试运行打包的可执行jar文件
SpringBoot+Maven多模块项目创建、依赖、打包可执行jar包部署测试_第9张图片

你可能感兴趣的:(spring,boot,maven,jar)