修复java.lang.ClassNotFoundException:com.fasterxml.jackson.annotation.jsonautodect
运行程序时出现以下异常修复java.lang.ClassNotFoundException:com.fasterxml.jackson.annotation.jsonautodect,java,maven,jackson,Java,Maven,Jackson,运行程序时出现以下异常 Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonAutoDetect at com.fasterxml.jackson.databind.introspect.VisibilityChecker$Std.<clinit>(VisibilityChecker.java:170) at com.faste
Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonAutoDetect
at com.fasterxml.jackson.databind.introspect.VisibilityChecker$Std.<clinit>(VisibilityChecker.java:170)
at com.fasterxml.jackson.databind.ObjectMapper.<clinit>(ObjectMapper.java:261)
at neustar.mngr.EMRService.getEMRConfig(EMRService.java:40)
at neustar.mngr.EMRService.getEMR(EMRService.java:22)
at neustar.helper.EmrLaunchMain.main(EmrLaunchMain.java:16)
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.annotation.JsonAutoDetect
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 5 more
我没有得到任何编译错误。在运行时,异常即将出现。需要指导来解决问题。
尝试更改jackson的版本,但没有帮助JsonAutoDetect应该在jackson注释中 查核
C:\Users\<user>\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.6
C:\Users\\.m2\repository\com\fasterxml\jackson\core\jackson annotations\2.9.6
您能尝试mvn清理吗删除文件夹:C:\Users\.m2\repository\com\fasterxml
尝试新版本
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
com.fasterxml.jackson.core
杰克逊核心
2.9.6
com.fasterxml.jackson.core
杰克逊注释
2.9.6
com.fasterxml.jackson.core
杰克逊数据绑定
2.9.6
JsonAutoDetect应该在jackson注释中
查核
C:\Users\<user>\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.6
C:\Users\\.m2\repository\com\fasterxml\jackson\core\jackson annotations\2.9.6
您能尝试mvn清理吗删除文件夹:C:\Users\.m2\repository\com\fasterxml
尝试新版本
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
com.fasterxml.jackson.core
杰克逊核心
2.9.6
com.fasterxml.jackson.core
杰克逊注释
2.9.6
com.fasterxml.jackson.core
杰克逊数据绑定
2.9.6
通过IDE?验证jar是否已导入。2.1.1应该可以。然而,你们不应该混用AWS SDK版本,因为这会做一些疯狂的事情。我需要从java项目启动emr集群,这就是为什么我要使用AWS SDK的依赖关系。我尝试打印运行时获取的jackson版本,它与pom.xml中的定义相同。使用“ObjectMapper.class.getProtectionDomain().getCodeSource()”在运行时获取jackson版本制作了一个uber jar而不是普通jar。使用AWS SDK是可行的,但是您有BOM 1.11。327和SDK 1.11。515这些应该匹配并且都是327或515。通过IDE?验证jar是否已导入。2.1.1应该可以。然而,你们不应该混用AWS SDK版本,因为这会做一些疯狂的事情。我需要从java项目启动emr集群,这就是为什么我要使用AWS SDK的依赖关系。我尝试打印运行时获取的jackson版本,它与pom.xml中的定义相同。使用“ObjectMapper.class.getProtectionDomain().getCodeSource()”在运行时获取jackson版本制作了一个uber jar而不是普通jar。使用AWS SDK是可行的,但是您有BOM 1.11。327和SDK 1.11。515这些注释应该匹配并且都是327或515。jackson-annotations位于.m2文件夹下。我也试过使用最新的jar,问题仍然存在。jackson-annotations位于.m2文件夹下。我也试过最新的罐子,问题仍然存在。