首页 > 解决方案 > DTO Java Spring java.lang.ClassNotFoundException:javax.xml.bind.DatatypeConverter

问题描述

我正在使用 JWT,我已经添加了登录端点并添加了 DTO

public class UserDto {
    private String user;

    private String password;

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

@PostMapping("user")
    @ResponseStatus(HttpStatus.CREATED)
    @ResponseBody
    public User login(@RequestBody UserDto user) {

        String token = getJWTToken(user.getUser());
        User newuser = new User();
        newuser.setUsername(user.getPassword());
        newuser.setToken(token);
        return newuser;

    }

但是当我调用端点时:

在此处输入图像描述

2021-06-03 16:46:56.848 错误 94126 --- [nio-8080-exec-4] oaccC[.[.[/].[dispatcherServlet]:Servlet.service() 用于 servlet [dispatcherServlet] path [] 抛出异常 [Handler dispatch failed; 嵌套异常是 java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter] 的根本原因

java.lang.ClassNotFoundException:java.base/jdk.internal.loader.BuiltinClassLoader.loadClass 的 javax.xml.bind.DatatypeConverter(BuiltinClassLoader.java:636) ~[na:na] 在 java.base/jdk.internal.loader .ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[na:na] at io.jsonwebtoken.impl .Base64Codec.encode(Base64Codec.java:21) ~[jjwt-0.9.1.jar:0.9.1] at io.jsonwebtoken.impl.Base64UrlCodec.encode(Base64UrlCodec.java:22) ~[jjwt-0.9.1.罐子:0。

标签: javaspringjwtdto

解决方案


推荐阅读