내가 JACKON의 ObjectMapper 클래스를 사용하는 자바 프로그램을 실행하려고 다음과 같은 오류 얻을과 :java.lang.ClassNotFoundException가/NoClassDefFoundError를위한 COM/fasterxml/잭슨/데이터 바인딩/ObjectMapper 메이븐
Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
at com.inin.dynamotransfer.DynamoTransfer.importData(DynamoTransfer.java:133)
at com.inin.dynamotransfer.DynamoTransfer.main(DynamoTransfer.java:67)
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 2 more
을 나는이 잭슨 주석, Databind (ObjectMapper 포함) 및 ~/.m2/repository/com/fasterxml/jackson/core/jackson- [packagename] /2.4.0 아래에있는 메이븐 저장소의 핵심 JAR
여기<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.4.0</version>
</dependency>
</dependencies>
내 CLASSPATH입니다 : 여기 내 pom.xml 파일의 종속 섹션이다 - 안에, 어디서, 등을 안에 넣어 갈 수 -
:/Users/myusername/Library/Java/Extensions:/Library/Java/Extensions:/Users/myusername/.m2/repository
그렇게 메이븐이 JAR 파일에 대해 모두 알고는 있지만, 자바 자체가 내가 필요한 클래스를 찾을 수없는 것 같습니다. 내가 도대체 뭘 잘못하고있는 겁니까?? 감사!
로 항아리를 실행할 수 있어야 샘플 지금
pom.xml
입니다 http://stackoverflow.com/questions/18429468/correct-를 보라 종속성 - for-use-jackson-mapper –
감사 Frederic. 잭슨 JAR을 ~/Library/Java/Extensions에 복사하여 문제를 해결했습니다. 나는 왜 이전에 내 프로그램을 실행할 수 있었는지 확실하지 않습니다. Exec 플러그인을 통해 프로그램을 실행할 때 Maven이 JAR 저장소를 사용하지만 java 명령은 사용하지 않는다고 생각합니다. 또한 커맨드 라인 -cp 옵션을 통해 JAR의 위치를 전달할 때 왜 자바가 잭슨을 찾을 수 없었는지 설명하지 못합니다. –