将Sping Boot 应用程序作为普通Java应用程序运行,无需Spring Boot加载程序

t40tm48m  于 2023-03-08  发布在  Spring
关注(0)|答案(1)|浏览(242)

我想知道有没有可能运行spring Boot 应用程序作为一个普通的java可执行jar没有spring boot loader?例如,我有下一个目录与jar:

/my-app-dir/main.jar
/my-app-dir/dependencies/spring-core.jar
/my-app-dir/dependencies/apache-tomcat.jar
...

其中main.jar只包含应用程序类,目录依赖项包含所有必需的运行时依赖项,包括spring和spring-boot依赖项。java -cp /my-app-dir/main.jar:./my-app-dir/dependencies/* com.mypackage.subpackage.MainApplication
当我这样做时,spring Boot 应用程序正在加载,但无法找到bean并解析beens树。

vxqlmq5t

vxqlmq5t1#

是的,这是可能的,也是受支持的。当您直接运行应用的main方法或使用Sping Boot 的Maven和Gradle插件中的运行支持时,IDE中会发生这种情况。
参考文档中有一节描述了如何分解打包的归档文件并直接运行主类,它是在容器映像的上下文中编写的,但也适用于其他部署方法。

相关问题