July 12, 2007
运行ICE示例程序
ICE自带了很多示例程序, 除了已编译为可直接运行的exe程序外, 还有很多使用其它语言例如Java书写的程序都不能直接编译运行. 拿demoj的IceStorm目录中的clock为例, 正常启动顺序如下:
-
启动IceBox (需要事先配置好ICE的环境变量):
icebox –Ice.Config=config.icebox -
运行Subscriber
java Subscriber -
运行Publisher
java Publisher
但事实上运行Subscriber的时候会提示错误:
Exception in thread “main” java.lang.NoClassDefFoundError: Subscriber
这会困惑住很多ICE新手, 往往到了这里就卡住没办法了.
试着输入 javac subscriber.java 重新编译也有错误信息: 找不到软件包Demo. 其实看到这里就应该明白了, 我们需要做的就是使用clock的SLICE定义生成Demo包:
md generated
slice2java –output-dir generated Clock.ice
然后把generated目录下的Demo整目录复制出来, 放在clock目录下, 再重新编译运行Publisher和Subscriber就OK了.
