在命令行中启动 rmireGIStry 之后,启动程序的服务器端,这时 JVM 提示:
Java.rmi.UnmarshalException: Error unmarshaling return header: Java.io.EOFException
从方法调用的堆栈输出的结果看来,程序运行到 Naming.rebind() 方法时就遇到了问题。之后我将相同的程序拷贝到其他 Windows 机器上就地编译,都没有出现问题。而公司所有的 Linux 服务器(都是安装的 RedHat EL 4,Java SE 5.0)上都出现相同的问题。最后不断排查,用 Google 搜索资料,在 SUN Technology Forum 上发现了这篇 post:“Basic RMI program works in windows but not Linux”。原来是 Linux 上安装的 gcc 也有 rmireGIStry、rmic 的实现,而相应的环境变量又没有为此配置。使得在命令行下直接输入这两个命令,实际上调用的不是 Java 5 的相应程序,而是 gcc 的版本。
上一篇: 让你的JSP支持Ubbcode
下一篇: 如何在 Oracle JDeveloper 中进行 Ajax 编程
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




