Ошибка при запуске примера браузера cling 2.0 в Android

Я пытаюсь использовать Cling 2.0 на Android 4.1 и выше, чтобы быть средством рендеринга и сервером upnp. Я получаю следующую ошибку при запуске примера браузера:

Process: com.mike.cling_test, PID: 8846
    java.lang.NoClassDefFoundError: Failed resolution of: Lorg/eclipse/jetty/server/Server;
at org.fourthline.cling.transport.impl.jetty.JettyServletContainer.resetServer(JettyServletContainer.java:165)
at org.fourthline.cling.transport.impl.jetty.JettyServletContainer.<init>(JettyServletContainer.java:57)
            at org.fourthline.cling.transport.impl.jetty.JettyServletContainer.<clinit>(JettyServletContainer.java:55)

Я погуглил об ошибке и нашел Форум пользователей Cling

Я выполнил шаги, описанные в ответе, но все равно получаю ту же ошибку. Мне кажется, что онлайн-руководство не то, что мне нужно. Есть ли pdf руководства по версии 2.0?


person codingzebra    schedule 23.07.2015    source источник
comment
Я привел в порядок форматирование вопроса, но, боюсь, он все еще не очень ясен. Также запросы на ссылки на сторонние ресурсы считаются не по теме для этого сайта. Можете ли вы отредактировать, чтобы добавить код (короткую полную программу), демонстрирующий проблему? Это поможет превратить этот вопрос в нечто, не зависящее от содержания стороннего веб-сайта.   -  person simonc    schedule 24.07.2015


Ответы (1)


У меня была такая же проблема, проблема в том, что цепляние предоставляется без библиотеки причала.

Вы должны использовать зависимость maven следующим образом:

        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-server</artifactId>
            <version>${jetty.version}</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-servlet</artifactId>
            <version>${jetty.version}</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-client</artifactId>
            <version>${jetty.version}</version>
        </dependency>

Или, если вы, как и я, используете Android studio, обновите свой скрипт gradle:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile files('src/libs/cling-core-2.0.1.jar')
    compile files('src/libs/cling-support-2.0.1.jar')
    compile files('src/libs/seamless-http-1.1.0.jar')
    compile files('src/libs/seamless-util-1.1.0.jar')
    compile files('src/libs/seamless-xml-1.1.0.jar')
    compile 'org.eclipse.jetty:jetty-servlet:8.1.8.v20121106'
    compile 'org.eclipse.jetty:jetty-client:8.1.8.v20121106'
    compile 'org.eclipse.jetty:jetty-server:8.1.8.v20121106'    
}

Надеюсь, что это поможет.

person Simon Mardiné    schedule 05.08.2015
comment
Спасибо, я попробую - person codingzebra; 07.08.2015