首页 | 房产 | 财经 | 健康 | 旅游 | 娱乐 | 体育 | 新闻 | 人才 |





您现在的位置: 辽宁热线

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

2006年05月21日     holy_phoenix
上周因为工作需要,写了一个 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 的版本。

 
[新闻] 抚顺俩女孩“五一”旅程变旅途噩梦
[房产] 国际奥委会:“鸟巢”暂停工不妨碍北京奥运筹备
[财经] 粮票:慧眼识宝巧投资?收藏投资两相宜
[健康] 哪些因素可致闭经
[旅游] 出入境需带主要证件
[娱乐] 张柏芝献声《电话》韩红来相助
[体育] 李铁是埃弗顿的骄傲 俱乐部安排盛大球迷活动
[人才] Products Sales Engineers


27岁外来残疾青年在连加入团将生命之钟定格在自己的岗位
中国超级豪宅排行榜 十大豪华侨城进京开连锁店 北京欢
组图:万件奇石展丰姿中消协发布警示:手机收取费
家庭急救六项注意候诊时应注意什么
一次性旅游护照申请如何办理护照遗失及其程序
王朔谈徐静蕾新片:写这个剧《巴别塔》导演戛纳获奖回国
我与李铁的一面之缘 他乡的埃弗顿队后腰人满为患 李铁
服务工程师分公司经理