我在package中有2個班級P。接口類A及其實現(xiàn)類B。在具有類的文件中,B出現(xiàn)以下錯誤: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條經(jīng)驗 獲得超5個贊
Java 8支持接口中的默認方法。在JDK 8中,許多舊接口現(xiàn)在具有新的默認方法。例如,現(xiàn)在在CharSequence中,我們有chars和codePoints方法。
如果項目的源級別低于1.8,則編譯器不允許您在接口中使用默認方法。因此,它不能編譯直接依賴于此接口的類。
如果我的問題正確,那么您有兩種解決方案。第一個解決方案是回滾到JDK 7,然后您將使用舊的CharSequence接口,而沒有默認方法。第二種解決方案是將項目的源代碼級別設置為1.8,這樣編譯器將不會抱怨接口中的默認方法。

陪伴而非守候
TA貢獻1757條經(jīng)驗 獲得超8個贊
自動顯示“ 對Eclipse Kepler SR2的Java 8支持”和新的“ JavaSE-1.8 ”執(zhí)行環(huán)境。
下載此文件:-Eclipse kepler SR2
然后點擊此鏈接:-Eclipse_Java_8_Support_For_Kepler
添加回答
舉報
0/150
提交
取消