Ошибка подключение wiremock

122
16 декабря 2020, 19:10

При попытке зупуска сервиса заглушек wiremock, происходит ошибка.

То что пишу в build.gradle

dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile "com.github.tomakehurst:wiremock:2.17.0"
}

Сам класс

import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.client.WireMock;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.get;
import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
import static 
 com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;

public class SampleMock {
public static void main(String args[]){
    WireMockServer wireMockServer = new WireMockServer(options().port(8081));
    wireMockServer.start();
    WireMock.configureFor("localhost", wireMockServer.port());
    stubFor(get(urlEqualTo("/test"))
            .willReturn(aResponse()
                    .withBody("Hello")));
    wireMockServer.stop();
 }
}

И даёт мне ишибку

    Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/io/Resources
    at com.github.tomakehurst.wiremock.core.WireMockConfiguration.<init>(WireMockConfiguration.java:58)
    at com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig(WireMockConfiguration.java:104)
    at com.github.tomakehurst.wiremock.core.WireMockConfiguration.options(WireMockConfiguration.java:108)
    at SampleMock.main(SampleMock.java:15)
Caused by: java.lang.ClassNotFoundException: com.google.common.io.Resources
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 4 more

Подскажите, в чём дело. Толковых примеров не нашёл. Доккументация, богатая, но не помогает.

Answer 1

Нашлась загвостка, нужно было доавить в файл build.gradle строку с загрузкой зависимостей гугла, так он стал выглядеть.

plugins {
id 'java'
}
group 'com.bmw'
 version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile "com.google.guava:guava:27.1-jre"
compile "com.github.tomakehurst:wiremock-jre8:2.23.2"
}
READ ALSO
android тени для customview невыпуклой формы

android тени для customview невыпуклой формы

Я определяю форму для тени моего customview следующим способом:

104
Парсинг Json объекта Java (Spring boot, Rest)

Парсинг Json объекта Java (Spring boot, Rest)

При создании нового product'а мне понадобилось получить его название, но, при использовании метода getName(), я получаю например: Product@11123

126
Java Client-Server [закрыт]

Java Client-Server [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

139