ログインエラー:java.lang.NoClassDefFoundError:javax / xml / bind/DatatypeConverterソリューション

ローカルでは非常にうまく動作しますが、実行するためにjarパッケージにパッケージ化されており、ホームページをロードしてログインをクリックすると、次のエラーが報告されます。

Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
    at io.jsonwebtoken.impl.Base64Codec.decode(Base64Codec.java:26)
    at io.jsonwebtoken.impl.DefaultJwtBuilder.signWith(DefaultJwtBuilder.java:99)
    at com.platform.common.utils.JwtUtils.generateToken(JwtUtils.java:49)
...

これは、Javaバージョンが高すぎるためです。以前のJava 8および以前のバージョンにはデフォルトでjaxb-apiパッケージが含まれていましたが、アップグレードされたバージョンではこのパッケージを手動でインポートする必要があります。
したがって、pom.xmlファイルを見つけて、その中に次のコードを追加します

<!--解决Handler dispatch failed;nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter-->
		<dependency>
			<groupId>javax.xml.bind</groupId>
			<artifactId>jaxb-api</artifactId>
			<version>2.3.0</version>
		</dependency>
		<dependency>
			<groupId>com.sun.xml.bind</groupId>
			<artifactId>jaxb-impl</artifactId>
			<version>2.3.0</version>
		</dependency>
		<dependency>
			<groupId>com.sun.xml.bind</groupId>
			<artifactId>jaxb-core</artifactId>
			<version>2.3.0</version>
		</dependency>
		<dependency>
			<groupId>javax.activation</groupId>
			<artifactId>activation</artifactId>
			<version>1.1.1</version>
		</dependency>

ここに画像の説明を挿入

後で瓶を再包装する、不足しているパッケージが構成されていることを詳細で確認できます。
ここに画像の説明を挿入
次に、合計jarパッケージをサーバーに再アップロードすると、実行できます。

おすすめ

転載: blog.csdn.net/changyana/article/details/123454651