我想知道有没有可能运行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树。
1条答案
按热度按时间vxqlmq5t1#
是的,这是可能的,也是受支持的。当您直接运行应用的main方法或使用Sping Boot 的Maven和Gradle插件中的运行支持时,IDE中会发生这种情况。
参考文档中有一节描述了如何分解打包的归档文件并直接运行主类,它是在容器映像的上下文中编写的,但也适用于其他部署方法。