問題是,您的Java JDK安裝路徑包含空格。
如果你的JDK被安裝到一個空格路徑中,例如「C:\ Program Files \ Java \ jdk1.7.0」,那麼你必須使用它們的絕對路徑啓動orbd和servertool(在Windows中,你必須使用short手符號即具有〜[蒂爾達]):
C:\ PROGRA〜1 \爪哇\ jdk1.7.0 \ BIN \ ORBD -ORBInitialPort 1050 -serverPollingTime 200
C:\ PROGRA〜1 \爪哇\ jdk1 .7.0 \ bin \ servertool -ORBInitialPort 1050
servertool> register -server PersistentServer -applicationName MyApp -classpath。
在Windows(如需要通過IDLJ生成的文件調整類路徑),你可以使用發現短名路徑:dir *.* /x
如果您的使用環境變量如%JAVA_HOME%等於「C:\ PROGRAM Files \ Java \ jdk1.7.0「,然後將它附加到PATH中,它將不是工作,您必須使用短符號(與蒂爾達),即」C:\ Progra〜1 \ Java \ jdk1.7.0「
提示:如果您的JDK安裝在不含空格的路徑中,例如C:\ Java \ jdk1.7.0,那麼您可以撻orbd和servertool沒有使用絕對路徑,它會工作。
我正在經歷同樣的問題。我從http://download.java.net/jdk7/archive/b123/docs/technotes/guides/idl/PersistentHello.zip下載示例,並開始按照readme.txt中的步驟操作,在步驟5b我有一個問題。更具體地說,如果我運行「register -server PersistentServer -applicationName s1 -classpath」。在ORB端口1050連接的servertool中,我收到一條錯誤消息:「服務器定義錯誤:未找到主類」。 – bitek
我將ORBD作爲後臺進程啓動,其中orb.db位於與PersistentHello目錄相同的目錄中;我從PersistentServer類的PersistentHello目錄啓動了servertool。如果您在Google搜索字符串「Bad server definition:main class not found」,您會在幾年前看到2-3個錯誤報告。我有一些想法,如果有些事情可以嘗試,我會讓你知道的。 – bitek
@AlexButum感謝您的考慮,但最後我在http://www.cse.ohio-state.edu/~gurari/course/cis888w04/cis888w04su52.html#x76-590007.6找到了我的答案。 – mojtaba