当我尝试使用 Stormpath 中的 JJWT 时,它会抛出运行时 Exception java.lang.ClassNotFoundException: io.jsonwebtoken.Jwts
。我正在使用 GlassFish 4.1 上嵌入的 Jersey2;这是引发异常的代码:
private String issueToken(String login) {
Key key = keyGenerator.generateKey();
//Key key = MacProvider.generateKey();
String jwtToken = Jwts.builder()
.setIssuer(uriInfo.getAbsolutePath().toString())
//.setIssuer("http://trustyapp.com/")
.setSubject(login)
.setIssuedAt(new Date())
.setExpiration(toDate(LocalDateTime.now().plusMinutes(15L)))
.signWith(SignatureAlgorithm.HS512, key)
.compact();
logger.info("#### generating token for a key : " + jwtToken + " - " + key);
return jwtToken;
}
我已经导入了 io.jsonwebtoken.Jwts 并且我的 pom.xml 有:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.2</version>
<scope>compile</scope>
</dependency>
我还尝试了没有上述依赖项的情况,以防我的 pom.xml 上的以下依赖项就足够了:
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.7.0</version>
<scope>compile</scope>
</dependency>