java - spring boot在多模块下如何打包?

 铁匠他夫人_738 发布于 2022-10-27 22:49

最近在学习使用spring-boot

我构建好项目后 pom.xml如下

      ....

    org.springframework.boot
    spring-boot-starter-parent
    1.3.8.RELEASE

    ....

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

            
                org.apache.maven.plugins
                maven-jar-plugin
                2.4
                
                    
                        
                            true
                            lib/
                            com.xx.Application
                        
                    
                
            

        

当使用了spring-boot的parent后,plugin这样配置,在使用mvn package 后能够自动打包出一个jar,并能用java -jar xx.jar运行。

然后有个新需求,这个时候我这个项目需要归并为另外一个项目的子模块,根据官方文档吧pom.xml改成如下

....
 
   com.xx
   platform
   1.0-SNAPSHOT

....

   
   org.springframework.boot
   spring-boot-dependencies
   ${spring.boot.version}
   pom
   import

....

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

            
                org.apache.maven.plugins
                maven-jar-plugin
                2.4
                
                    
                        
                            true
                            lib/
                            com.xx.Application
                        
                    
                
            

就是parent变动了下,其他依赖和插件都没变。此时我使用mvn package打出的jar包只有几百KB,也就是依赖的jar包没有被自动引入。同时,jar包里面也没有orgspringframeworkbootloader这层目录了。


现在该怎么处理才能打出对的jar包?


造化弄人,看到直接可以使用spring-boot-maven-plugin来打包,所以直接修改下spring-boot-maven-plugin的配置,改成如下,运行mvn package OK
写的有点乱 请见谅!


                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                    com.xx.Application
                    ZIP
                
                
                    
                        
                            repackage
                        
                        
                    
                
            

感谢:
Maven构建一个多模块的Spring Boot + Spring MVC项目,完全基于java config

1 个回答
  • 用Gradle吧,天然支持多模块打包。只需一个简单的配置:

    a项目的build.gradle文件:

    dependencies {
        compile project(':hello')//a项目依赖hello项目
    }

    这样子配置一下,打包就是一个jar包了。

    2022-11-12 01:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有