我的项目使用
springboot,将其打包到jar文件后,我可以执行
java -jar my-project.jar来运行实例.
我还有一个脚本,它是一个主类,当我执行java -cp my-project.jar com.test.MyScript时,它说无法找到或加载主类.
怎么会发生这种情况?顺便说一句,当我执行java -cp my-project.jar com.test.MyApplication时,会发生同样的错误. MyApplication是SpringBootApplication类.
为什么我不能手动运行主类?
最佳答案 这是因为spring boot不使用SpringBootApplication作为主要入口点.它使用org.springframework.boot.loader.Launcher.
摘自spring docs:
The org.springframework.boot.loader.Launcher class is a special
bootstrap class that is used as an executable jar’s main entry point.
It is the actual Main-Class in your jar file, and it is used to setup
an appropriate URLClassLoader and ultimately call your main() method.