java - spring boot在多模块下如何打包?
迷茫
迷茫 2017-04-18 10:19:29
[Java讨论组]

最近在学习使用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)
ringa_lee

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

a项目的build.gradle文件:

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号