【发布时间】:2019-07-23 17:02:02
【问题描述】:
我有以下 sn-p 并且我有一些未解决的类 - 主要是 Base64
String auth = username + ":" + password;
byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(StandardCharsets.ISO_8859_1));
String authHeader = "Basic " + new String(encodedAuth);
request.setHeader(HttpHeaders.AUTHORIZATION, authHeader);
我尝试导入 commons-codec maven 存储库,但在 Eclipse 中仍然显示无法解析类:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.12</version>
</dependency>
我们现在使用 JDK7 有点卡住了,这可能是问题所在。这个 Base64 类是否仅适用于 Java 8?否则,如何将其导入到我的应用程序中?
【问题讨论】:
-
标准
java.util.Base64类仅在 java 8+ 中可用。您看不到来自commons-codec的原因不是您的Java 版本。请检查您的项目配置 -
根据commons.apache.org/proper/commons-codec 这个版本的commons-codec 需要Java 1.7 所以应该没问题(?)
-
您的代码似乎使用
commons-codec1.12 编译。你有正确的进口吗?import org.apache.commons.codec.binary.Base64; -
就是这样,我手动写了导入语句,它解决了。奇怪的是,公共编解码器没有显示在 Eclipse 弹出窗口中。我目前只是在测试环境中运行,所以我可能需要留意该库是否正在被导入。无论如何,感谢您发布正确的包裹。