SpringBoot项目打包部署以及异常Exception in thread "main" java.lang.ClassNotFoundException

springboot的打包方式有很多种。有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的。这里主要介绍如何打成jar进行部署。不推荐用war,因为springboot适合前后端分离,打成jar进行部署更合适。

1、打包之前,maven需要加一个配置:

(build这块一定要配置,否则打jar的时候会说找不到主类)

(类限定名不要写错,不然执行的时候就会报异常Exception in thread "main" java.lang.ClassNotFoundException)


        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    springboot启动类的类限定名
                
            
        
    

2、在启动类当中加上extends SpringBootServletInitializer并重写configure方法,这是为了打包springboot项目用的

(其实不重写configure方法,也能打包项目正常执行.....哈哈哈)

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class,scanBasePackages={ "com.thrid"})
public class ThridApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(ThridApplication.class, args);
    }

    /**
     * 为了打包springboot项目
     * @param builder
     * @return
     */
    @Override
    protected SpringApplicationBuilder configure(
            SpringApplicationBuilder builder) {
        return builder.sources(this.getClass());
    }
}

3、按照顺序运行mvn clean,再运行mvn install,执行之后会打包成我们需要的jar包(我用的是idea执行)

SpringBoot项目打包部署以及异常Exception in thread

SpringBoot项目打包部署以及异常Exception in thread

4、执行jar包:到jar包所在目录去执行,也可以直接执行jar包完整路径,这个执行方式windows和linux上都一样

执行命令:java -jar XXXXX.jar

(如果是阿里云上的,需要通过阿里云把你指定的端口开放,如果是虚拟机上的,需要把防火墙什么的关掉,开放端口即可。)

SpringBoot项目打包部署以及异常Exception in thread

 

如果执行jar包遇到这个异常,一定记得先检查pom.xml配置文件启动类的路径对不对......

SpringBoot项目打包部署以及异常Exception in thread

 

你可能感兴趣的:(BUG处理)