在eclipse中集成weblogic对大部分开发人员来说应该是没有问题的,只要安装一下weblogic的eclipse的对应版本的插件就可以了。但有时候如果使用了最新版本的eclipse,而weblogic的插件的发布却没有跟上,那只能干瞪眼了,只能不使用最新版本的eclipse了。
这里介绍一种适合任意版本的eclipse集成weblogic的方法,这个方法的原理是weblogic本身就是用java类启动的,去考察weblogic启动的cmd文件,其实质也是调用了weblogic.Server这个类(当然有很多参数的),那如果把这个启动的类似“java [jvm参数] weblogic.Server [weblogic参数]”的java运行命令制作成eclipse中的java application,这样在任意版本的eclipse中就都可以启动weblogic了。下面以eclipse3.5(galileo)和weblogic8.1.4为例,来说明一下这个步骤。
1、首先在eclipse中创建一个空的工程项目,这个工程项目只是为了在之后配置java application时设置一个项目(也可以不新建工程项目,而使用其他的任何项目),如果这个项目中能包含weblogic.jar的话,那在之后配置java application的main选项卡的main class时可以通过search来查找weblogic.Server(但因为肯定是weblogic.Server,所以查不查找都无所谓),如下图:
2、新配置一个java application,输入Name,下面一共有Main,Arguments,JRE,Classpath,Source,Environment,Common这些选项卡,下面一一介绍。
2.1、Main选项卡中的project是需要运行的工程(这里因为要运行weblogic,所以我们就选择之前创建的weblogic的工程WeblogicProject),Main class是有main函数的运行类,weblogic.Server类是weblogic的启动类,这里必须填写这个类,可以通过Search按钮来查询,这个类包含在weblogic.jar包中,所以这个包一定要包含在之前项目中。
2.2、在介绍Arguments选项卡之前,先需要说明一下weblogic的JVM参数,weblogic的JVM参数一般格式如下:
-Dbea.home=bea的安装路径 -Dweblogic.RootDirectory=weblogic的domain的路径 -Dweblogic.Domain=domain名称 -Dweblogic.Name=server名称 -Djava.security.policy=安全策略路径 -Dweblogic.management.discover=是否自动查找配置文件false和true,一般设置为false -Dweblogic.management.server=Admin Server的IP地址和端口 -Dweblogic.management.username=Admin Server的用户名 -Dweblogic.management.password=Admin Server的密码(明文) -Djava.library.path=类库路径 -client -Xms32m -Xmx200m -XX:MaxPermSize=128m -Xverify:none
根据这个格式,给出两个例子,一个是Admin Server的JVM参数配置:
-Dbea.home=D:/bea -Dweblogic.RootDirectory=D:/bea/user_projects/domains/mydomain -Dweblogic.Domain=mydomain -Dweblogic.Name=myserver -Djava.security.policy=D:/bea/weblogic81/server/lib/weblogic.policy -Dweblogic.management.discover=false -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Djava.library.path=D:/bea/weblogic81/server/bin -client -Xms32m -Xmx200m -XX:MaxPermSize=128m -Xverify:none
一个是managed Server的JVM参数配置:
-Dbea.home=D:/bea -Dweblogic.RootDirectory=D:/bea/user_projects/domains/mydomain -Dweblogic.Domain=mydomain -Dweblogic.Name=aibpsserver -Djava.security.policy=D:/bea/weblogic81/server/lib/weblogic.policy -Dweblogic.management.server=http://localhost:7000 -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Djava.library.path=D:/bea/weblogic81/server/bin -client -Xms32m -Xmx400m -XX:MaxPermSize=256m -Xverify:none
下面接着说weblogic的配置,如果要配置成Admin Server,则weblogic的JVM参数的配置如下,如果配置成managed Server,则根据上面managed Server的JVM参数格式配置:
-Dbea.home=D:/bea -Dweblogic.RootDirectory=D:/bea/user_projects/domains/mydomain -Dweblogic.Domain=mydomain -Dweblogic.Name=myserver -Djava.security.policy=D:/bea/weblogic81/server/lib/weblogic.policy -Dweblogic.management.discover=false -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Djava.library.path=D:/bea/weblogic81/server/bin -client -Xms32m -Xmx200m -XX:MaxPermSize=128m -Xverify:none
2.3、JRE选项卡,这个没有什么好说的,选择一个合适版本的JRE就好了。
2.4、classPath选项卡,这个选项卡中需要将weblogic.jar/webservices.jar/ojdbc14.jar这三个jar包放入User Entries中,而且这三个的顺序必须是weblogic.jar/webservices.jar/ojdbc14.jar,否则weblogic启动时会报JMS错误等莫名其妙的错误。另外必须注意:这三个jar包的路径必须是weblogic的安装路径下的server\lib目录下的。也就是说比如我weblogic安装在d:\bea\weblogic81下,但我把weblogic.jar拷贝到d盘目录下,然后将d盘下的这个weblogic.jar加入到classpath中,则这种情况下,虽然weblogic.jar是完全一样的,但同样weblogic启动会报错,因为会找不到其他的jar包中的关联类。
2.5、Source,Environment,Common这三个选项卡都默认就可以了。完成这些,点击apply之后weblogic的java应用就配置好了,下面我们测试一下是否OK。
3、测试weblogic的java应用配置是否成功。通过了这个测试验证,如果完全正常,则这个配置就完成了。
3.1、准备一个简单的web工程,用来测试weblogic工作是否正常。一般只要包含一个servlet就可以了,在servlet中设置好断点。
3.2、run这个weblogic的java应用,可以看到在eclipse的控制台中会打印一些weblogic启动日志,与通过插件配置的weblogic的启动日志完全相同。并将前面准备的web工程部署到weblogic中。在IE中输入servlet的URL,看servlet运行是否完全如预期。
3.3、debug这个weblogic的java应用,可以看到在eclipse的控制台中会打印一些weblogic启动日志,与通过插件配置的weblogic的启动日志完全相同。在IE中输入servlet的URL,看eclipse是否进入了debug界面,运行暂停在了之前设置好的断点了。
顺便记录一下weblogic的eclipse(galileo版本)插件的site:
weblgoic的eclipse(galileo版本)插件(整套插件名称Oracle Enterprise Pack for Eclipse)的site
http://download.oracle.com/otn_software/oepe/galileo