jdk9に移行したため、実行時に次のエラーが発生します。
java.lang.NoClassDefFoundError: javax/xml/ws/Service
コンパイルエラーは発生しませんが、ランタイムエラーのみが発生します。module-infoは次のとおりです。
module CXFPExGenCaller {
requires java.xml;
requires java.logging;
requires java.xml.bind;
requires java.xml.ws;
exports ......;
}
また、pom.xmlには次の依存関係が含まれています。
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2.12-b141001.1542</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.2.11</version>
<scope>test</scope>
</dependency>
異なる構成を試したとしても、最終的な結果はこの厄介なエラーです!誰かがここで何が起こっているのか考えていますか?
次の答えを試して、私が行っていた間違いを理解しました:Jdk9モジュールの概念
JUnitを使用してIntelliJIDEでクラスをテストしており、次の画像のようにランタイムのVMオプションも設定するのではなく、コンパイラオプションのみを設定していました。これがベストプラクティスかどうかはわかりませんが、これで現在の問題は解決します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加