java.lang.NoClassDefFoundError:com / fasterxml / jackson / databind / JsonMappingException

Nov 20 2020

ここでTwilioチュートリアルに従ってJavaコードを介してテキストメッセージを送信しようとしていますが、コードの13行目に到達java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/JsonMappingExceptionしています。Service service = Service.creator("My First Messaging Service").create();

このスレッドをたどってみて、必要なすべての依存関係を追加しましたが、コードのどこで@JsonIgnoreを使用するかわかりません原因:java.lang.NoClassDefFoundError:com / fasterxml / jackson / databind / JsonMappingException $ Reference

どうすればこれを解決できますか?これを修正する方法を教えてください。これが私のJavaコードです

import com.twilio.Twilio;
import com.twilio.rest.messaging.v1.Service;
import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.core.*;
public class SMSOTP 
{
    public static final String ACCOUNT_SID = System.getenv("TWILIO_ACCOUNT_SID");
    public static final String AUTH_TOKEN = System.getenv("TWILIO_AUTH_TOKEN");
    public static void main(String[] args) 
    {
        Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
        Service service = Service.creator("My First Messaging Service").create();

        System.out.println(service.getSid());
    }
}

回答

1 GuriqbalSingh Nov 21 2020 at 03:17

解決策を探してここに来た人にとって、それは深刻な依存関係の問題です。3つのjacksonAPI(アノテーション、データバインド、コア)をプロジェクトに手動で追加しましたが、それが問題でした。実際にはそれ以上のものが必要でした。

だから私がしたことは、既存のEclipseプロジェクトをMavenプロジェクトに変換することによってMavenプロジェクトに切り替えられ、pom.xmlで、ここから作業するために必要な<builds>すべての<plugins>twilioをコピーして貼り付けましたhttps://github.com/twilio/twilio-java/blob/main/pom.xml

提案してくれた@MichałZioberのおかげで、最終的には機能しました。

これが誰もが何時間も頭を悩ませるのを助けることを願っています:)頑張ってください!