RMI 程序能在 Windows 上运行,却在 Linux 上报…

2008-02-23 09:15:37来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

上周因为工作需要,写了一个 RMI 程序。程序在我自己的电脑(Windows 平台)上可以正常运行,但是当把程序提交到公司的 Linux 服务器上之后却出了意想不到的问题。

在命令行中启动 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 编程

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Tomcat启动分析

下一篇:如何在 Oracle JDeveloper 中进行 Ajax 编程