验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

Springboot怎么使用maven打包指定mainClass

阅读:978 来源:乙速云 作者:代码code

Springboot怎么使用maven打包指定mainClass

使用maven打包指定mainClass


        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    com.xxx.XxxApplication
                
                
                    
                        
                            repackage
                        
                    
                
            
        
    

SpringBoot Maven打包错误及原因

1.org.springframework.boot:spring-boot-maven-plugin:2.2.1.RELEASE:repackage failed: Unable to find main class

2.找不到符号

Unable to find main class 问题原因

如果使用SpringBoot打包插件如下


    
         
             org.springframework.boot
             spring-boot-maven-plugin
         
     
  • 如果使用了这个打包插件,那么我们就必须有一个类使用了@SpringBootApplication注解,否则打包的时候将会报repackage failed: Unable to find main class。

  • 如果我们的项目打包只是一个普通的工具包,那么什么打包插件都不用加,maven使用默认方式给我们打包,不用配置(了解maven默认方式配置可网上查,网上很多)。

  • 如果我们的项目是多级构建(多Module)方式构建,在打包的时候只是一个普通module,但是还是报repackage failed: Unable to find main class错误,这个时候我们就查看module的父级项目是否加入了SpringBoot打包插件,因为打包插件也会继承。所以建议不要为了方便而直接在父级项目加入SpringBoot的打包插件,而是那个Module需要打包为SpringBoot项目再加入SpringBoot打包插件。

  • 关于maven默认打包方式中(如下图),package是以jar方式打包,所以没有必要再pom.xml配置,除非我们只是打包为pom,我们可以配置pom,否则没有必要配置。当然多module的最顶级一定是pom打包方式。

Springboot怎么使用maven打包指定mainClass

一个项目有多个main.class,导致打包时maven不知道使用哪一个为主入口,这里我们需要设置


 
   
     org.springframework.boot
     spring-boot-maven-plugin
     
      	com.demo.springboot.DemoSbApplication
     
   
 

找不到符号问题原因

这个原因一般是我们在打包时,打包项目是打jar包,又引用了其他module。

而其他module没使用jar方式打包,对于springboot来说就是设置了pom,这种肯定是找不到类,所以我们只要设置那个module的打包方式为jar就可以了。注意:这里有可能引发Unable to find main class问题。

分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>