Используйте HttpUrlBuilder в проекте Gradle - PullRequest
0 голосов
/ 04 мая 2018

У меня есть следующая функция для создания URL.

public String buildURL(Departments department) {
        URL url = new HttpUrl.Builder()
                .scheme("http")
                .host("localhost")
                .port(Integer.valueOf(department.getPort()))
                .addPathSegments(department.getName()+"/synchronization")
                .build().url();
        return url.toString();
    }

В build.gradle я использую зависимости.

compile group: 'com.squareup.okio', name: 'okio', version: '1.0.0'
compile 'com.squareup.okhttp3:okhttp:3.10.0

Когда я пытаюсь вызвать функцию выше, я получаю следующую ошибку.

Servlet.service() for servlet [dispatcherServlet] in context with path [/central] threw exception [Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: okio/Buffer] with root cause

java.lang.ClassNotFoundException: okio.Buffer

Как я могу это исправить?

1 Ответ

0 голосов
/ 04 мая 2018

Вам необходимо добавить зависимости в раздел buildscript, чтобы они были доступны для самой сборки, а не для компилируемого модуля:

buildscript {
    repositories.jcenter()
    dependencies.add("classpath", "com.squareup.okio:okio:1.0.0")
    dependencies.add("classpath", "com.squareup.okhttp3:okhttp:3.10.0")
}

URL url = new okhttp3.HttpUrl.Builder()
    .scheme("http")
    .host("localhost")
    .port(3333)
    .addPathSegments("address")
    .build().url()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...