Java JWT Auth0给了我一个错误:ClassNotFoundException,但我有导入
我想创建一个实现令牌以进行身份验证的web服务 我收到这个错误: 广告:StandardWrapperValve[jersey serlvet]:Servlet jersey serlvet的Servlet.service()引发异常java.lang.ClassNotFoundException:com.auth0.jwt.JWTSigner 这是我的代码:Java JWT Auth0给了我一个错误:ClassNotFoundException,但我有导入,java,servlets,jax-rs,token,auth0,Java,Servlets,Jax Rs,Token,Auth0,我想创建一个实现令牌以进行身份验证的web服务 我收到这个错误: 广告:StandardWrapperValve[jersey serlvet]:Servlet jersey serlvet的Servlet.service()引发异常java.lang.ClassNotFoundException:com.auth0.jwt.JWTSigner 这是我的代码: import com.auth0.jwt.JWTSigner; import com.auth0.jwt.JWTVe
import com.auth0.jwt.JWTSigner;
import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.JWTVerifyException;
import java.util.HashMap;
import java.util.Map;
//....
...//
public String crearToken(String username) {
String token = null;
final long iat = System.currentTimeMillis() / 1000l; // issued at claim
final long exp = iat + 60L; // expires claim. In this case the token expires in 60 seconds
final JWTSigner signer = new JWTSigner(this.key);
final HashMap<String, Object> claims = new HashMap<String, Object>();
claims.put("iss", username);
claims.put("exp", exp);
claims.put("iat", iat);
claims.put("aud",aud);
token = signer.sign(claims);
return token;
}
public void validarToken(String token)throws Exception{
try {
JWTVerifier jwtVerifier1 = new JWTVerifier(key);
jwtVerifier1.verify(token);}
catch(Exception e){
}
}
有人知道为什么它会给我这个错误,或者我做错了吗?您还需要在运行时提供jar,因此您需要将它们捆绑到jar/war中,具体取决于您如何打包和部署软件。这就是错误的原因。
import
语句是针对编译器的。它们在运行时没有明确的含义。您的错误是一个运行时异常,基本上是抱怨您在类路径中丢失了一个jar文件。Thx,我只是添加了jar,而不是一个带有jar的库。
@POST
@Produces("application/json")
@Consumes("application/json")
public Response authenticateUser(Credentials credentials) {
String username = credentials.getUsername();
String password = credentials.getPassword();
try {
Authenticate auth= new Authenticate();
//Authenticate the user using the credentials provided
auth.authenticateUser(username, password);
Token tok= new Token();
// Issue a token for the user
String token = tok.crearToken(username);
// Return the token on the response
return Response.ok(token).build();
} catch (Exception e) {
return Response.status(Response.Status.UNAUTHORIZED).build();
}
}