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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章