Java開發問題集

Java開發問題集

2/27/2017 11:05:10 AM

本帖主要記錄Java開發過程中遇到的Error和解決方法,流水賬形式。記錄格式爲問題編號,環境描述,問題描述,解決方案。


  • #1

環境描述:

Ubuntu 14.04 64bit

Eclipse Version: 3.8.1 Build id: debbuild

Jdk:Oracle java 8

Project:Floodlight v1.2

問題描述:

編譯時出現錯誤 Duplicate methods named spliterator with the parameters () and () are inherited from the types Colle...

解決方案:

java8不支持該版本的Eclipse導致,可以將jdk版本切換到1.7版本,也可以將Eclipse升級到4.4版本。如果將jdk版本切換到1.7,不僅需要安裝openjdk-7-jdk,而且還需要對Eclipse進行配置,如下圖:
![Eclipse JRE配置](https://img-blog.csdn.net/20170228180847587?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSmFzb25UYW5nMTk5Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

  • #2

環境描述:

Ubuntu 14.04 64bit

Eclipse Version: 3.8.1 Build id: debbuild

Jdk:Oracle java 8

Project:Floodlight v1.2

問題描述:

編譯時出現錯誤 The qualified case label OFType.PACKET_IN must be replaced with the unqualified enum constant PACKET_IN

解決方案:

將Qualified names用枚舉常量替換掉就可以了,具體報錯原因還不清楚。<s>switch的case狀態必須是常量表達式(常量表達式的定義參考[15.28. Constant Expressions](http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#d5e25548))或枚舉常量(如PACKET_IN),這裏的報錯信息與常量表達式有關,在[15.28. Constant Expressions](http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#d5e25548)中列舉的常量表達式種類中的最後一條就是“Qualified names (§6.5.6.2) of the form TypeName . Identifier that refer to constant variables (§4.12.4).”。然而OFType.PACKET_IN有一個類的標識符,這樣的話就不能作爲switch的case狀態。因此要用PACKET_IN。更詳細的說明可以參考官方文檔[14.11. The switch Statement](http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.11)。</s>
發佈了15 篇原創文章 · 獲贊 12 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章