0

ここで再現可能:

以前はJava 8.xを使用していましたが、すべて正常に機能していました。jdk と Oracle の両方を開きます。

JDK & および Oracle JDK がアップグレードされると、jackson.

    Error:(10, 1) java: constructor ClientResponseData in class my.response.ClientResponseData cannot be applied to given types;
  required: no arguments
  found: java.lang.String,java.lang.String
  reason: actual and formal argument lists differ in length

私の ClientResponseData は次のように定義されています:

@JacksonXmlRootElement(localName = "ClientResponseData")
@Builder
@Getter
public class ClientResponseData {

    @JacksonXmlProperty(localName = "responseCode")
    private String responseCode;

    @JacksonXmlProperty(localName = "number")
    private String number;

}

Javaの更新前に私のために働いていた依存関係:

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

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.18</version>
        <scope>provided</scope>
    </dependency>

pom.xml では、私はまだ使用しています:<java.version>1.8</java.version>

Javaのアップグレード後、Lombokを少なくとも最新の1.18.8に更新する必要がありました

それから私は問題を抱え始めます。

  Error:(10, 1) java: constructor ClientResponseData in class my.response.ClientResponseData cannot be applied to given types;
  required: no arguments
  found: java.lang.String,java.lang.String
  reason: actual and formal argument lists differ in length

次の場合に失敗します。

 return new com.fasterxml.jackson.dataformat.xml.XmlMapper().readValue(xmlString, cls);

それを機能させる方法の手がかりはありますか?

私は試した:

  • @NoArgsConstructor を追加する - いいえ

  • ジャクソンを最新に更新します-いいえ

4

1 に答える 1