如何用WebLogic发布多个Web工程

作者:xinxin

WebLogic是美国Oracle公司出品的一个基于JAVAEE架构的中间件,可用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。那么,当你写了一个基于SuperMap iObjects Java的Web工程时,可以用WebLogic中间件在Windows或Linux系统上快速发布,但由于使用了超图的组件产品,在使用WebLogic发布的时候还要设置好相关环境变量才能顺利的发布。下面小编将带大家一起学习在WebLogic上部署和发布引用了SuperMap iObjects java的Web工程和需要注意的地方,整个过程主要有以下几个步骤:
1. WebLogic的安装和域的创建
首先,肯定是要有一个写好的Web Project,怎么写Web工程就不做详细介绍了,不是本次重点;另外还要安装好WebLogic,下面重点说一下WebLogic的安装。现在常用的WebLogic版本有11g和12c,下面小编带大家看一下以12c的WebLogic在Windows Server 2008 R2中的安装步骤:
(1) 下载一个WebLogic的.jar包文件(如wls_121200.jar),可以通过安装.jar包的命令行来安装(如java –jar wls_121200.jar);
(2) Weblogic安装完后需要创建一个域才能部署和发布Web工程,可以通过引导安装来创建一个WebLogic域,如图1:
如何用WebLogic发布多个Web工程_第1张图片
图1
(3) 进入引导安装后依次需要设置域名及域存放位置(默认设置即可)–>设置用户名密码(密码要求8位及以上,要有字母和数字)–>选择可用的JDK(JDK的位数要和WebLogic的位数一致)–>勾选管理服务器设置管理服务器的名称和端口(可以用默认设置)–>最后点击创建(创建成功后先不要启动管理服务器);
(4) Weblogic域创建域后可以在你设置的域位置下查看,如图2:

图2
PS:在创建域的过程中选择的JDK除了位数一致外,还需要在【高级系统设置】中设置好JDK的环境变量(JAVA_HOME/CLASS_PATH/PATH),同时建议使用JDK的版本使用1.6或1.7,不建议使用1.8版本;另外如果你要同时打开多个域,那么每个域的端口要求不一致。
2.设置环境变量
在用weblogic部署发布Web工程之前需要在【高级系统设置】中设置SuperMap iObjects java的PATH路径,即将iObjects java中的bin路径写在【高级系统设置】的PATH中,但经过测试发现,仅仅那样设置环境变量WebLogic部署是没有问题的,但是在发布的时候就会发现会报“LicenseNative”的错误,这个错误表示在【高级系统设置】设置的环境变量不起作用,需要在WebLogic域中的startWebLogic.cmd中设置PATH路径;另外,如果的Web工程中用的是数据库型数据,如Oracle数据源,那么在startWebLogic.cmd还需要设置Oracle客户端的PATH路径,如图3:

图3
PS: SuperMap iObjects Java与数据库客户端(Web工程中使用了数据库型数据)的位数也要和WebLogic的位数一致,如果用WebLogic发布Web工程,无法识别【高级系统设置】中设置的环境变量,还需要在startWebLogic.cmd中设置JDK、数据库客户端和iObjects Java的PATH路径(建议图3中的顺序设置)。
3.在WebLogic中部署和发布Web工程
(1)将Web工程中的WebRoot文件拷出来(也可以将其打成一个.war包);
(2)启动WebLogic域的服务,双击startWebLogic.cmd即可;
(3)在浏览器中输入ip:端口号/console(如:Localhost:7001/console),弹出一个登入页面,输入用户名和密码即可登入,进去后如图4:
如何用WebLogic发布多个Web工程_第2张图片
图4
(4)图4中所示点击部署,点击安装(根据提示逐步选择),部署成功后在发布。
PS:WebLogic不仅可以在Windows上还可以在Linux上部署发布Web工程,实现的思路和需注意的地方都差不多,但是当你想在一个WebLogic域中发布多个Web工程的时候就会发现会报“Wrapj600.dll”被其他程序占用,这个时候还需要修改一个地方:将每个Web工程中WebRoot/WEB-INF/lib中引用超图的jar包全部删除,而在你的WebLogic域中的lib中添加所有Web工程中引用超图的jar包即可,如果用Tomact发布多个Web工程出现这个报错也是用这种方法解决。

你可能感兴趣的:(java,oracle,ee)