繁体   English   中英

无法解析类型java.nio.CharBuffer

[英]The type java.nio.CharBuffer cannot be resolved

我正在使用java jdk1.8.0_05。 在项目中,我收到错误消息,因为“类型java.nio.CharBuffer无法解析。 该行从所需的.class文件中间接引用:

new FileReader(filename).read(buffer);

如何解决这个问题。

我在最近移植的项目中遇到了同样的问题。 我的情况是,我在启动时安装了最新版本的Java,并将其附加到以前的项目中。 我修复了其他一些小问题,但这不是其中之一。 我发现根据该网站,所有文档均可用,该类是我的安装的一部分,但未找到。

我最终通过恢复为JDK1.7来解决此问题。 立即解决了我的问题,但我希望多一点关注,然后再改回新版本,这是一个更好的答案。

我意识到这来得有点晚,但尚未标记为已解决,因此我将分享。

我在使用OpenJDK 8的Ubuntu 15.04全新安装中具有java.nio.FloatBuffer的使用经验。您没有指定要使用的操作系统,因此以下是针对我的修复程序:

安装openjdk-7-jre-lib软件包; 例如sudo apt-get install openjdk-7-jre-lib

请注意,默认存储库列表中没有openjdk-8-jre-lib软件包。

这假定您已正确配置了构建路径。 请参见 SO职位上的详细信息。

Eclipse已过时。 产生错误的旧版本是日食“ Helios”。 我尝试了最新版本的Eclipse“ Mars”并通过了构建。

我还通过带有Hive Web界面的war文件hive-hwi-0.12.0.war来体验到这一点。

常规解决方案:在java / jsp代码中找到新的FileReader(filename).read(buffer)语句。 在某种程度上,“较低”的Java 1.8版本不支持带有1个参数的read()方法(在这种情况下为缓冲区)。 除了传递1个参数外,还应传递3个参数:buffer,offset和bufferlength。 更改“ new FileReader(filename).read(buffer,0,buffer.length);”中的语句

对于文件view_file.jsp中的Hive Web界面,将语句“ cread = br.read(c)”更改为“ cread = br.read(c,0,c.length)”。

我首先使用的是eclipse mars,我们需要检查Jre安装的库并进行构建,在完成这个干净的项目之后,问题已经解决了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM