当前位置: 代码迷 >> Eclipse >> Orbacus4.3.4 + Eclipse 3.6.1 + ORBStudio777(增强版)环境筹建
  详细解决方案

Orbacus4.3.4 + Eclipse 3.6.1 + ORBStudio777(增强版)环境筹建

热度:461   发布时间:2016-04-23 12:33:18.0
Orbacus4.3.4 + Eclipse 3.6.1 + ORBStudio777(增强版)环境搭建

??? 最近需要在分布式环境下开发应用,打算用Orbacus+Eclipse组合,发现ORBStudio777中并无Orbacus相关配置选项,遂在原作者的ORBStudio777版本上增添了Orbacus的选项,(源码包和编译好的插件在附件中),这里,我将整个环境搭建过程写下:

?

?系统环境和软件版本:

(1)WinServer2008R2(x64)

(2)JDK:jdk-6u22-windows-x64.exe

(3)eclipse:eclipse-java-helios-SR1-win32-x86_64.zip

(4)Orbacus:JOB-4.3.4-win32.zip

(4) eclipse插件:ORBStudio777(自己修改的增强版^^)

(5)ANT:apache-ant-1.8.1-bin.zip(用于编译安装Orbacus)

?

软件下载:

??? Orbacus :? http://web.progress.com/en/orbacus/downloads.html

???? 其余略去?

参考:http://bfcat.iteye.com/blog/769584

?

一、安装JDK:

?? 1)将JDK安装到D:\install\jdk1.6(目录随便放,这里为了统一,均方在D:\install目录,下同)。

?? 2)设置JAVA_HOME环境为:D:\install\jdk1.6。

?? 3)修改环境变量Path,增加:D:\install\jdk1.6\bin。

?

二、安装ANT编译工具:

?? 1)解压apache-ant-1.8.1-bin.zip到D:\install\ant下。

?? 2)设置环境变量ANT_HOME为:D:\install\ant。

?? 3)修改环境变量Path,增加:D:\install\ant\bin。

?

三、安装Orbacus4.3.4

?? 1)解压JOB-4.3.4-win32.zip到D:\install\JOB,调整目录结构为

????????? D:\install\JOB

????????????????????????????? |--bin

??????????????????????????????|--JOB-4.3.4

???2)修改环境变量Path,增加:D:\install\JOB\bin

?? 3)编译安装Orbacus到D:\install\JOB目录下:

????????打开命令行窗口,切换到D:\install\JOB\JOB-4.3.4目录下,执行命令:ant -Dinstall.dir=D:\install\JOB

??????? 此时,D:\install\JOB目录下多了idl和lib两个目录

?

四、测试Orbacus安装成功,这里我以demo下的hello为例:

??? 1)运行服务器:打开一个命令行窗口,切换到D:\install\JOB\JOB-4.3.4\ob\demo\hello目录下,执行命令:

???????? set CLASSPATH=..\..\lib;classes;%CLASSPATH%

???????? java -Xbootclasspath/p:%CLASSPATH% hello.Server

??? 2)运行客户端:打开一个命令行窗口,切换到D:\install\JOB\JOB-4.3.4\ob\demo\hello目录下,执行命令:

???????? set CLASSPATH=..\..\lib;classes;%CLASSPATH%

???????? java hello.Client

????3)在客户端输入"h”,在服务端收到"Hello World!” 说明此时成功。

??? 4) -Xbootclasspath选项是告诉JVM优先使用其后所指定的类库中搜索需要的类。不加这个参数,出现:

????????? Exception in thread "main" java.lang.NoSuchMethodError: org.omg.PortableIntercep
tor.IORInterceptor_3_0.adapter_manager_state_changed(Ljava/lang/String;S)错误,原因是Orbacus自带的类库和JDK类库不兼容的缘故。???

?

五、安装eclipse:

???1)将eclipse-java-helios-SR1-win32-x86_64.zip解压到D:\install\eclipse下

?

六、安装ORBStudio777插件:

?? 1)在D:\install\eclipse\dropins目录下,新建ORBStudio(名字任意)目录,建好的目录结构如下:

????????? D:\install\eclipse\dropins

??????????????????????????????????????????????? |--ORBSTudio

???????????????????????????????????????????????????????????? |--eclipse

????????????????????????????????????????????????????????????????????? |--plugins

???2)将ORBStudio777.jar包拷到plugins目录下

?? 3)打开eclipse,选择window->Preferences,左侧多出ORB Studio选项卡,将默认IDL Compile改为Orbacus;并配置Orbacus的IDL Command为:D:\install\JOB\bin\jidl.exe

?

七、创建eclipse的一个HelloWorld示例:

??? 1)打开eclipse,新建名为HelloWorld的java project。

????2)创建idl:

??????? 鼠标右击src->New->Other,在CORBA Wizard下,选择IDL files下的Simple IDL

??? 3)打开simple.idl文件,修改module后的声明为test

??? 4)右击simple.idl文件,->ORB Menu(O)->Compile进行编译,此时会生成test包,里面有8个java文件

??? 5)鼠标右击src->New->Other,在CORBA Wizard下,选择Server下的Default servant,在IDL filename中,选择/{projectname}/src/{idlname}.idl,在Interface中,选择test.MyService;在package中,输入server,点击下一步,勾选生成类

??? 6)右击src->New->Other,在CORBA Wizard下,选择Client下的simple implementation,在IDLfilename中,选择/{projectname}/src/{idlname}.idl,在Interface中,选择test.MyService;在package中,输入client,点击Finish

??? 7)修改Server端的代码:

public class MyServiceServerImpl extends test.MyServicePOA {	@Override	public void operation1(String msg) {		// TODO Auto-generated method stub		System.out.println(msg);	}}

?

8)修改Client端 MyServiceClientImpl的代码:

public static void main(String[] args) {		try {			MyServiceClientImpl test = new MyServiceClientImpl();			 test.getORBInterface().operation1("HelloWorld!");			test.shutdown();		}		catch(IOException ex) {			ex.printStackTrace();		}	}

?

9)配置并运行Server端:

??? 右击项目名称,->Run As->Run Configuations,新建一个Java Application的launch configuration,

?? 在main选项卡中的Poject选择HelloWorld;MainClass选择server.Server_DefaultServant;在Arguments选项卡的VM arguments中输入-Xbootclasspath/p:D:\install\JOB\lib\OB.jar,运行,服务端即开启

?

10)运行客户端:

?? 在命令行窗口中进行操作,方法和上面的demo相同。

11)运行结果:

??? Server端会收到一条客户端发来的HelloWorld!消息,并打印。

  相关解决方案