Weblogic部署maven web项目

来源:互联网 发布:中科大软件学院信息化 编辑:程序博客网 时间:2024/06/05 19:45

由于工作所需,工作的服务器由原来的tomcat,jetty换成了weblogic,这玩意和tomcat,jetty还是有很大的不同的,这里不做多说,这里说明下具体如何部署,以及部署中遇到的问题是如何解决的。申明,从weblogic 10.3.4开始支持maven deploy部署

部署流程

第一种:最快最暴力

直接把maven工程打成war包然后解压出来将解压后的文件目录直接放入到weblogic的启动目录即可,这里要注意的是第一种问题,如果你的maven web工程如果没有数据库配置,数据库配置是在另一个项目中作为jar包打入你的这个maven web项目的时候,那么你的把数据库配置文件放入到WEB-INF下或者classes/conf文件夹中,如果你这样配置了的话。然后按照weblogic的部署流程来部署即可,或许你还会遇到第二种问题那就是web.xml的version问题,我们通常在web.xml中用web-app version 3.0,也就是文件的最开头部分,而在weblogic中只支持2.4或者2.5,如果项目启动报了这个关于web.xml的错误的话,你可以检查下是否是这个原因。

第二种:一次工作永久收益:

步骤如下:
1.构建weblogic-maven-plugin jar
在D:\oracle\Middleware\wlserver_12.1\server\lib
找到 WebLogic JarBuilder Tool (wljarbuilder),执行:
java -jar wljarbuilder.jar -profile weblogic-maven-plugin

2.将weblogic-maven-plugin jar中的pom.xml 解压出放入到在
D:\oracle\Middleware\wlserver_12.1\server\lib
可以使用命令:
jar xvf D:/oracle/Middleware/wlserver_12.1/server/lib/weblogic-maven-plugin.jar
META-INF/maven/com.oracle.weblogic/weblogic-maven-plugin/pom.xml

cp D:/oracle/Middleware/wlserver_12.1/server/lib/META-INF/maven/com.oracle.weblogic/
weblogic-maven-plugin/pom.xml D:/oracle/Middleware/wlserver_12.1/server/lib

3.安装插件:
一种将weblogic-maven-plugin.jar 和pom.xml上传到nexus的第三方库中
另一种执行mvn install:install-file -Dfile=weblogic-maven-plugin.jar -DpomFile=pom.xml
进行安装。这个时候在你的本地仓库能到找.m2\repository\com\oracle\weblogic

4.在当前需要上传的应用的pom中配置weblogic的相关配置
比如:


com.oracle.weblogic
weblogic-maven-plugin
10.3.6.0

  <configuration>       <adminurl>t3://192.168.2.141:9001</adminurl>      <user>weblogic</user>       <password>123456</password>       <upload>true</upload>       <action>deploy</action>       <remote>false</remote>       <verbose>true</verbose> 

target/demo.war
demo




先打包生成demo.war,然后执行>mvn com.oracle.weblogic:weblogic-maven-plugin:deploy
主要官方提供的命令是:mvn weblogic:deploy; 其实你敲这个命令你会发现,他用的不是oracle的plugin
而是用的 org.codehaus.mojo的
此外如果需要提前命令,可以用help来查看,查看结果:

The following are the goals available currently in Maven
deploy
list-apps
redeploy
start-app
stop-app
undeploy
update-app

执行成功后,回到weblogic的console台,你能发现你的war包,同时可以访问看是否部署成功。
如果想直接一个命令部署怎么办? 直接在mvn命令后面加上package
mvn package com.oracle.weblogic:weblogic-maven-plugin:deploy
但是他报错:
[INFO] ————————————————————————
[ERROR] Failed to execute goal com.oracle.weblogic:weblogic-maven-plugin:10.3.6.
0:deploy (default-cli) on project ep-easyui-webapp: weblogic.deploy.api.tools.de
ployer.DeployerException: Java heap space -> [Help 1]
[ERROR]
原因是jdk 内存不够
为mvn设置内存,在maven.bat上加上
set MAVEN_OPTS=-Xdebug -Xnoagent -Xms256m -Xmx512m -Djava.compiler=NONE
这句话本身是@rem有。
然后直接
mvn package com.oracle.weblogic:weblogic-maven-plugin:deploy
就是能成功。

参考文献:
http://docs.oracle.com/cd/E24329_01/web.1211/e24443/maven_deployer.htm

主要10.3以后好像才有这个支持,另外12g和11g也有区别。

另外,需要注意的是,weblogic的maven插件和tomcat的maven插件不同,tomcat的maven插件会自动给你的项目打包,但是weblogic的maven插件不会。所以一定要先运行maven package再运行mvn com.oracle.weblogic:weblogic-maven-plugin:deploy才能显示你修改后的项目。

以上就是maven工程部署到weblogic的两种方式,如果您有更好的方式请留言

原创粉丝点击