java.lang.NoClassDefFoundError: com/quickxml/jackson/core/JsonFactory

Я работаю над примерами примеров 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.

Ответ 1

Добавьте следующую зависимость к вашему pom.xml

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.5.2</version>
</dependency>

Ответ 3

Из-за старой версии я получил эту ошибку. Затем я перешел на эту версию и ошибка исчезла. Используя 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"

Ответ 4

Вы должны добавить одну банку: jackson-annotations-2.1.2.jar Вы можете скачать ее здесь и добавить ее в путь к классу. Если вы используете граду, добавьте следующую зависимость.

compile 'com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.5.2'

Ответ 5

Начиная с jackson 2.7.4 (или раньше, возможно), класс находится в jacskon-jaxrs-base.jar, который содержится в jackson-jaxrs-json-provider

Ответ 6

Решил проблему, обновив зависимость до версии ниже

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.8</version>
</dependency>