Springboot项目本地调试没有问题,maven打包运行出现java.lang.ArrayStoreException:sun.reflect.annotation.TypeNotPresentExceptionProxy异常
java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
at sun.reflect.annotation.AnnotationParser.parseClassArray(Unknown Source) ~[na:1.8.0_25]
at sun.reflect.annotation.AnnotationParser.parseArray(Unknown Source) ~[na:1.8.0_25]
at sun.reflect.annotation.AnnotationParser.parseMemberValue(Unknown Source) ~[na:1.8.0_25]
at sun.reflect.annotation.AnnotationParser.parseAnnotation2(Unknown Source) ~[na:1.8.0_25]
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(Unknown Source) ~[na:1.8.0_25]
at sun.reflect.annotation.AnnotationParser.parseAnnotations(Unknown Source) ~[na:1.8.0_25]
at java.lang.Class.createAnnotationData(Unknown Source) ~[na:1.8.0_25]
at java.lang.Class.annotationData(Unknown Source) ~[na:1.8.0_25]
at java.lang.Class.getAnnotations(Unknown Source) ~[na:1.8.0_25]
at org.springframework.core.type.StandardAnnotationMetadata.<init>(StandardAnnotationMetadata.java:70) ~[spring-core-5.1.11.RELEASE.jar!/:5.1.11.RELEASE]
at org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition.<init>(AnnotatedGenericBeanDefinition.java:58) ~[spring-beans-5.1.11.RELEASE.jar!/:5.1.11.RELEASE]
at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.doRegisterBean(AnnotatedBeanDefinitionReader.java:217) ~[spring-context-5.1.11.RELEASE.jar!/:5.1.11.RELEASE]
at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.registerBean(AnnotatedBeanDefinitionReader.java:146) ~[spring-context-5.1.11.RELEASE.jar!/:5.1.11.RELEASE]
at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.register(AnnotatedBeanDefinitionReader.java:136) ~[spring-context-5.1.11.RELEASE.jar!/:5.1.11.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:156) ~[spring-boot-2.1.10.RELEASE.jar!/:2.1.10.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:135) ~[spring-boot-2.1.10.RELEASE.jar!/:2.1.10.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:127) ~[spring-boot-2.1.10.RELEASE.jar!/:2.1.10.RELEASE]
at org.springframework.boot.SpringApplication.load(SpringApplication.java:688) [spring-boot-2.1.10.RELEASE.jar!/:2.1.10.RELEASE]
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:386) [spring-boot-2.1.10.RELEASE.jar!/:2.1.10.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) [spring-boot-2.1.10.RELEASE.jar!/:2.1.10.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.1.10.RELEASE.jar!/:2.1.10.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1204) [spring-boot-2.1.10.RELEASE.jar!/:2.1.10.RELEASE]
at com.sf.gis.mape.nanshan.openservice.NanshanOpenserviceApplication.main(NanshanOpenserviceApplication.java:18) [classes!/:0.0.1-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_25]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_25]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_25]
at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_25]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [nanshan-openservice.jar:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [nanshan-openservice.jar:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:51) [nanshan-openservice.jar:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52) [nanshan-openservice.jar:0.0.1-SNAPSHOT]
检查POM文件中是否有system的外部jar包引入,Springboot 打包时候spring-boot-maven-plugin 默认不会打入scope 为 system的相关依赖,需要加入下面配置:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
includeSystemScope 指明要将system的包打入到需要运行的jar包中
Springboot项目在本地调试正常,但在maven打包后运行时出现`java.lang.ArrayStoreException:sun.reflect.annotation.TypeNotPresentExceptionProxy`异常。解决方法是检查POM文件,确认是否有system范围的jar包引入,因为Springboot默认不包含此类依赖,需在spring-boot-maven-plugin中添加includeSystemScope配置,以确保system依赖被打包进jar。

被折叠的 条评论
为什么被折叠?



