修复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文件夹下。我也试过最新的罐子,问题仍然存在。