1. ホーム
  2. java

[解決済み] Rest Templateで例外が発生する : スレッド "main" での例外 java.lang.NoClassDefFoundError: org/springframework/core/log/LogDelegateFactory

2022-02-15 17:08:44

質問

私のコードにあるメソッド。

public static <T> ResponseEntity<T> get(String url, HashMap<String,String> parameters, HashMap<String,String> headers, Class<T> responseType){
        System.out.println(url);
        return new RestTemplate().exchange(
            String.format("%s%s",url, toQueryString(parameters)),
            HttpMethod.GET,
            toHttpEntity(headers), responseType);
    }

Rest Templateの新しいオブジェクトを要求する際に、 -->new RestTemplate()で以下のような例外が発生します。

スレッドで例外発生 "main" java.lang.NoClassDefFoundError: org/springframework/core/log/LogDelegateFactory at org.springframework.http.HttpLogging.forLog(HttpLogging.java:68) at org.springframework.http.HttpLogging.forLogName(HttpLogging.java:57) org.springframework.http.client.support.HttpAccessor.JAVA(HttpAccessor.java:54) org.springframework.http.client.support.InterceptingHttpAccessor.JAVA(InterceptingHttpAccessor.java:45) org.springframework.web.client.RestTemplate.RestTemplate.java:137)

pom.xmlの依存関係

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>5.2.7.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.11.0</version>
        </dependency>

解決方法は?

クラスパスにspring coreがある必要があります。

を追加してみてください。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>5.2.8.RELEASE</version>
</dependency>