雁过请留痕...
代码改变世界

eclipse 编译出错(java.io.ObjectInputStream)的解决办法

2016-09-07 14:30  xiashengwang  阅读(27895)  评论(0编辑  收藏  举报
Multiple markers at this line
	- The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from 
	 required .class files
	- The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from 
	 required .class files

这个错误出现的环境:

eclipse:Version: 3.6.2

JDK:1.8

代码如下,在第一行的package位置始终报这个编译错。

package Chapter04;

public class DevideByMinusException extends Exception {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public DevideByMinusException(){
		
	}
	public DevideByMinusException(String message){
		super(message);
	}
}

百度了好久,也没有找到解决方法,原因大概是这样的。

1,jdk版本太新,而eclipse版本比较旧,eclipse本身就是java开发的,所以eclipse的编译器使用的jdk版本没有程序的jdk版本高,造成一些误报。(高版本的sdk中的类有变化,eclipse编译器识别不了(猜测))。

2,要解决的话,方法有两个

1)可以选用较低版本的sdk,比如我就用回1.6版本的sdk

window->preferences->Java->Installed JREs->Add 选择一个低版本的sdk目录

2)下载一个最新的eclipse,与1.8版本的sdk匹配

我用的第一种,因为我本机有低版本的sdk,这样代价低一点。