Java IDL:servertool不会注册和挂起

ajd*_*uke 9 java corba idl persistent

我在Java IDL中运行CORBA Persistent Object实现

Java IDL中一样:"Hello World"示例

我按照上面的文章中的确切程序

我使用servertool注册Persistent服务器,如例子所示.但当我尝试使用该文章中的语法注册服务器时:

servertool > register -server PersistentServer -applicationName s1 -classpath path_to_server_class_files

我挂起来并没有做任何事情,然后我必须做ctrl+c回到正常模式

这可能有什么问题?

bit*_*tek 1

问题是你的Java JDK安装路径包含空格。

如果您的 JDK 安装到带有空格的路径,例如“C:\Program Files\Java\jdk1.7.0”,那么您必须使用绝对路径启动 orbd 和 servertool(在 Windows 中,您必须使用简写符号,即 ~ [蒂尔达]):

C:\Progra~1\Java\jdk1.7.0\bin\orbd -ORBInitialPort 1050 -serverPollingTime 200

C:\Progra~1\Java\jdk1.7.0\bin\servertool -ORBInitialPort 1050

servertool> 注册 -server PersistentServer -applicationName MyApp -classpath 。(根据idlj生成的文件的需要调整类路径)

在 Windows 中,您可以使用以下命令找到短名称路径:dir *.* /x

如果您使用像 %JAVA_HOME% 这样的环境变量等于“C:\Program Files\Java\jdk1.7.0”,然后将其附加到 PATH 它将无法工作,您必须使用简写符号(带有 tilda),即“C:\Progra~1\Java\jdk1.7.0”

提示:如果您的 JDK 安装在没有空格的路径中,例如 C:\Java\jdk1.7.0,那么您可以在不使用绝对路径的情况下启动 orbd 和 servertool,并且它将正常工作。