SpringBoot 2.x发布的jar文件运行出现Exception in thread "main" java.lang.reflect.InvocationTargetException的一种问题原因
部署jar包,运行时 (一闪而过)显示:
d:\target>Java -jar mainframe-1.0.31.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467)
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
at com.TongXunMeng.mainframe.MainframeApplication.main(MainframeApplication.java:108)
... 8 more
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 9 more
发现了问题的一种原因:
设置POM.XML时,让 lib 不打包发布。部署时,没有同时部署 lib 文件夹;也会出现这种问题。