Ответ 1
Добавьте следующую зависимость к вашему pom.xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.2</version>
</dependency>
Я работаю над примерами примеров YouTube broadcast
на YouTube broadcast
. Я создал образец Java Project
и добавил необходимые банки. Но, когда я пытаюсь запустить проект, он выдает исключение.
Исключение:
Throwable: com/fasterxml/jackson/core/JsonFactory
java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonFactory
at com.google.api.client.json.jackson2.JacksonFactory.<init>(JacksonFactory.java:44)
at com.google.api.services.samples.youtube.cmdline.live.Auth.<clinit>(Auth.java:35)
at com.google.api.services.samples.youtube.cmdline.live.CreateBroadcast.main(CreateBroadcast.java:55)
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.core.JsonFactory
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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 3 more
Я загрузил проект из этого хранилища GitHub.
Добавьте следующую зависимость к вашему pom.xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.2</version>
</dependency>
Запрошенная банка, вероятно, не jackson- аннотации -x.yzjar, но jackson- ядро -x.yzjar, которое можно найти здесь: http://www.java2s.com/Code/Jar/j/Downloadjacksoncore220rc1jar.htm
Из-за старой версии я получил эту ошибку. Затем я перешел на эту версию и ошибка исчезла. Используя maven my pom.xml
<properties>
...
<jackson.version>2.5.2</jackson.version>
</properties>
<dependencies>
...
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
</dependencies>
моя старая версия была "2.2.3"
Вы должны добавить одну банку: jackson-annotations-2.1.2.jar
Вы можете скачать ее здесь и добавить ее в путь к классу. Если вы используете граду, добавьте следующую зависимость.
compile 'com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.5.2'
Начиная с jackson 2.7.4 (или раньше, возможно), класс находится в jacskon-jaxrs-base.jar, который содержится в jackson-jaxrs-json-provider
Решил проблему, обновив зависимость до версии ниже
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.8</version>
</dependency>