无法解析Base64(Java 1.7)
我有以下代码片段,还有一些未解析的类——主要是Base64无法解析Base64(Java 1.7),java,apache-commons-codec,Java,Apache Commons Codec,我有以下代码片段,还有一些未解析的类——主要是Base64 String auth = username + ":" + password; byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(StandardCharsets.ISO_8859_1)); String authHeader = "Basic " + new String(encodedAuth); request.setHeader(HttpHeaders.AUTHOR
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>
通用编解码器
通用编解码器
1.12
我们现在使用JDK7有点困难,这可能是问题所在。这个Base64类是否仅在Java 8中可用?否则,如何将其导入我的应用程序?如果您检查Javadoc,它清楚地表明
Base64
是自1.8以来的版本
不确定commons编解码器
one,您一定在Eclipse中出了什么问题(考虑到它的Maven集成是多么糟糕,这并不奇怪)。标准java.util.Base64
类仅在java 8+中可用。在commons codec
中看不到的原因不是您的java版本。请检查您的项目配置根据此版本的commons codec需要Java 1.7,所以应该可以(?)您的代码似乎是用commons codec
1.12编译的。你们有正确的进口货吗<代码>导入org.apache.commons.codec.binary.Base64代码>就是这样,我手动写出了import语句,并解决了它。奇怪的是,Eclipse弹出窗口中没有显示commons编解码器。我目前正在运行一个测试环境,因此可能需要注意该库是否正在导入。无论如何,感谢您发布正确的包。是的,但这表明Base64包含在Java1.8中,对吗?那么,如果8之前的版本在JDK中不可用,它们如何导入Base64编解码器呢?另外,Mavan看起来很好,我只是对这份回购协议有意见。根据它需要Java1.7,所以应该可以(?)是的,commons编解码器应该可以工作。不确定为什么它没有显示在EclipseIDE上。在我的IntelliJ上,它会立即加载。