RMI 程序能在 Windows 上运行,却在 Linux 上报错的一个原因

原创 2006年05月21日 23:40:00

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

在命令行中启动 rmiregistry 之后,启动程序的服务器端,这时 JVM 提示:

java.rmi.UnmarshalException: Error unmarshaling return header: java.io.EOFException

从方法调用的堆栈输出的结果看来,程序运行到 Naming.rebind() 方法时就遇到了问题。之后我将相同的程序拷贝到其他 Windows 机器上就地编译,都没有出现问题。而公司所有的 Linux 服务器(都是安装的 RedHat EL 4Java SE 5.0)上都出现相同的问题。最后不断排查,用 Google 搜索资料,在 SUN Technology Forum 上发现了这篇 postBasic RMI program works in windows but not Linux。原来是 Linux 上安装的 gcc 也有 rmiregistryrmic 的实现,而相应的环境变量又没有为此配置。使得在命令行下直接输入这两个命令,实际上调用的不是 Java 5 的相应程序,而是 gcc 的版本。

相关文章推荐

Qt学习(如何交叉编译一个Qt程序使其能在板子上运行)

如何交叉编译一个Qt程序使其能在板子上运行      首先安装交叉编译器arm-linux-gcc3.4.6,先将其压缩包放到一个目录下,然后对其进行解压,举了解压命令为:tar xjvf arm-l...

windows如何能在“运行”框输入名称就启动相应的软件

要实现题目所说的,并不难,几步就能搞定了。   1、在D盘建一个名为“启动”的文件夹,用来存放快捷方式 2、在“我的电脑”“属性”“高级”“环境变量”“系统环境变量”中的“Path”的未尾添加:...

能在windows7下运行的全拼输入法

  • 2013年08月23日 15:52
  • 240KB
  • 下载

Windows 8/8.1下部分游戏不可运行的解决方案(原因:反挂程序驱动)

2014年3月30日 Windows 8.1下大部分网络游戏反挂驱动已兼容 例如HS、TP(英雄联盟、剑灵已经可以直接进入游戏了) 如果还是需要免TP补丁(英雄联盟)以下是免TP系列原帖...
  • maxsky
  • maxsky
  • 2012年10月18日 15:41
  • 6218

Swift - 让程序挂起后,能在后台继续运行任务

原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_811.html 1,程序的挂起和退出 由于iOS设备...

交叉编译能在arm平台上运行的Qt应用程序的步骤

我们的电脑一般来说,现在主流的还是X86平台(当然,随着64位机的普及,相信以后格局会变化,暂不讨论)。对于Qt应用程序来说,我们在PC机上开发的时候,因为本身我们的开发软件Qt creator是运行...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RMI 程序能在 Windows 上运行,却在 Linux 上报错的一个原因
举报原因:
原因补充:

(最多只允许输入30个字)