为了账号安全,请及时绑定邮箱和手机立即绑定

包声明中无法解析类型java.lang.CharSequence

包声明中无法解析类型java.lang.CharSequence

手掌心 2019-10-19 16:36:10
我在package中有2个班级P。接口类A及其实现类B。在具有类的文件中,B出现以下错误:The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files。我正在使用Eclipse Helios和$ java -versionjava version "1.8.0_05"Java(TM) SE Runtime Environment (build 1.8.0_05-b13)Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)删除和添加JRE的标准解决方案不起作用。我该如何解决?编辑: 代码:类A:package com.jax;import javax.jws.WebMethod;import javax.jws.WebService;import javax.jws.soap.SOAPBinding;import javax.jws.soap.SOAPBinding.Style;@WebService@SOAPBinding(style = Style.RPC)public interface WebServiceInter {@WebMethodString sayHello();}类B:package com.jax; // **Error is here**import javax.jws.WebService;@WebService(endpointInterface = "com.jax.WebServiceInter")public class WebServiceImpl implements WebServiceInter{    @Override    public String sayHello(){        return "Hello!";    }}项目结构:ProjectName-> Java资源-> com.jax-> Class A,ClassB
查看完整描述

3 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

Java 8支持接口中的默认方法。在JDK 8中,许多旧接口现在具有新的默认方法。例如,现在在CharSequence中,我们有chars和codePoints方法。

如果项目的源级别低于1.8,则编译器不允许您在接口中使用默认方法。因此,它不能编译直接依赖于此接口的类。

如果我的问题正确,那么您有两种解决方案。第一个解决方案是回滚到JDK 7,然后您将使用旧的CharSequence接口,而没有默认方法。第二种解决方案是将项目的源代码级别设置为1.8,这样编译器将不会抱怨接口中的默认方法。


查看完整回答
反对 回复 2019-10-19
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

自动显示“ 对Eclipse Kepler SR2的Java 8支持”和新的“ JavaSE-1.8 ”执行环境。


下载此文件:-Eclipse kepler SR2


然后点击此链接:-Eclipse_Java_8_Support_For_Kepler


查看完整回答
反对 回复 2019-10-19
  • 3 回答
  • 0 关注
  • 1158 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信