Spring プロジェクトの起動エラー java.lang.NoClassDefFoundError: javax/xml/soap/SOAPException

記事ディレクトリ

1. 背景

今日、新しいデバイスで以前のプロジェクトを開始したところ、開始できず、エラーが報告されました。

java.lang.NoClassDefFoundError : javax/xml/soap/SOAPException

2. 理由

ネットで調べたところ、おおよその理由は、現在の機器では比較的新しいJDK 11を使用しているが、クラスはJDK8で使用されているjava.xml.soap.SOAPExceptionためです。JDK9以降では削除されているため、エラーが発生していました。

3. 解決策

幸いなことに、解決策はまだあります。JDK 開発チームは穴を掘った後、それを埋める必要があります。
この依存関係を手動で導入できます。

<dependency>
    <groupId>javax.xml.soap</groupId>
    <artifactId>javax.xml.soap-api</artifactId>
    <version>1.4.0</version>
</dependency>

ただし、この依存関係のみが導入された場合、スタートアップ プロジェクトはエラーを報告します。

javax.xml.soap.SOAPException: Unable to create SAAJ meta-factory: Provider com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found

この時点で、2 番目の依存関係も導入する必要があります。

<dependency>
    <groupId>com.sun.xml.messaging.saaj</groupId>
    <artifactId>saaj-impl</artifactId>
    <version>1.5.1</version>
</dependency>

mavenを更新するのを忘れないでください〜
この後、再起動して起動すればOKです〜
ここに画像の説明を挿入

4. 参考文献

https://www.likecs.com/ask-465155.html
https://stackoverflow.com/questions/48626824/java-lang-noclassdeffounderror-javax-xml-soap-soapException

おすすめ

転載: blog.csdn.net/sdujava2011/article/details/131097469