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”的未尾添加:...

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

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

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

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

修改马敏钊mmz-asio4delphi,使其能在Delphi Xe2 运行示例程序-End

begin   if (Setting) then intval := 1   else intval := 0;   ErrorCode := SetErrorCode(SetSockOpt(...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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