栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

IDEA打包基于多层Maven构建的多module springboot项目-----基于尚医通的基本部署

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

IDEA打包基于多层Maven构建的多module springboot项目-----基于尚医通的基本部署

1. 项目架构
demo--最外层的父工程--Maven工程
common---Maven工程:
          common下创建两个模块存放工具类(common-util、service-util)
hospital-manage-----单独的SpringBoot工程
model:工具类
service-----Maven工程:
          service-cmn3:基于Maven引入的module,有SpringBoot启动类
          service-hospital:基于Maven引入的module,有SpringBoot启动类
          service-user:基于Maven引入的module,有SpringBoot启动类
service_client-----Maven工程:
         service_client_server:公共类,无启动类

PS:
一般工具类module下不含有SpringBoot启动类–(如common-util、service-util、model、service_client_server)
但是有时候也会报错:打包时出现unable to find the main class
解决方法请看下面的补充一

2. pom文件的配置

参考链接:
https://www.freesion.com/article/8212834032/

这部分的配置很关键,折腾了很久才配置成功的

步骤一

最外层demo的pom.xml配置信息:
父模块都是pom打包方式(packaging为pom)
common 、service、service_client属于第二层级父模块,也是采用pom打包
(由于其下依旧有子模块,所以依然是pom的打包方式,同时要声明它的父模块是谁)
demo 的pom:

common 的pom

service的pom


service_client的pom

步骤二

(1)

在最外层的父模块(demo模块)的pom.xml文件最下面加上:

    
        
            org.springframework.boot
            spring-boot-maven-plugin
            
                
                    
                        repackage
                    
                
            
        
    

    
        
        
            src/main/java
            
                ***.properties
                ***.tld
            
            false
        
        
    



注释:中配置的是springboot的maven插件,后面的在最外层的父模块中定义,具体原因未知。
	下面的都是编译打包的时候需要用到,具体原因已经写在注解中。

(2)

在common-util、service-util、model、service_client_server
PS:工具类模块下都要添加


    
        
            org.springframework.boot
            spring-boot-maven-plugin
            
                exec
            
        
    


如下



其他几个模块就不截图了

(3)
切记:在工具类模块下千万不要声明打包方式,否则会报错

(4)
切记:在SpringBoot工程模块下也千万不要声明打包方式,否则会报错
hospital-manage-----单独的SpringBoot工程
service-cmn3:基于Maven引入的module,有SpringBoot启动类
service-hospital:基于Maven引入的module,有SpringBoot启动类
service-user:基于Maven引入的module,有SpringBoot启动类

3.打包

—右侧的maven工具栏,
—最外层模块(demo)
—点击Lifecycle,—点击clean,----再点击package

打包成功:

4 部署

到打包生成jar包人文件夹下,采用cmd的方式一个个的启动SpringBoot的jar包



PS:其他工具类的模块所打包称为的jar包是不需要启动的
启动命令:java -jar xxx.jar

补充

补充一:
工具类模块打包时出现unable to find the main class
在对应的模块下加入一个空的启动类就不会再报错了


如下所示

补充二:
在打包之后,重新启动idea里面的SpringBoot工程时,出现springboot启动错误: 找不到或无法加载主类

解决方法:

到具体的SpringBoot工程下
mvn clean compile
mvn install
再重启该SpringBoot工程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/825584.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号