Spring Boot 在命令行指定主类启动程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot 在命令行指定主类启动程序相关的知识,希望对你有一定的参考价值。
参考技术A Spring Boot 程序我们一般会设置使用 spring-boot-maven-plugin 来生成 jar 包,配置类似于:这样我们可以通过 -jar 的方式直接启动并执行指定的 start-class 类的 main 函数:
但当我们需要指定并执行其他类的 main 函数时,使用 -cp 参数却行不通:
因为 Spring Boot 打包时做了处理,启动时的主类也不再是用户指定的,而是由 Spring Boot 启动后代为调用执行。
此时我们就需要一些 trick 来解决这个问题。
首先我们要改变 spring-boot-maven-plugin 的参数:
增加了 <layout>ZIP</layout> 一行。这将使 Spring Boot 使用 PropertiesLauncher 。
然后
可以看到,事实上是以 org.springframework.boot.loader.PropertiesLauncher 作为主类启动的,设置了 loader.main 的值,由 Spring Boot 调用执行。
参考文章:
以上是关于Spring Boot 在命令行指定主类启动程序的主要内容,如果未能解决你的问题,请参考以下文章