通过maven-weblogic-plugin实现weblogic的自动部署

来源:互联网 发布:查看linux开放的端口 编辑:程序博客网 时间:2024/05/17 08:25
maven-weblogic-plugin介绍

MAVEN与JETTY, GLASSFISH等WEB Container集成已经相当成熟了。但是支持WEBLOGIC的目前只有两种。

一是org.codehaus.mojo,二是weblogic自带的,并未开源的。

本文讲述了如何利用WEBLOGIC自带的plugin与WEBLOGIC集成。

 

1. 安装

首先要先安装WEBLOGIC服务器。具体下载地址http://www.Oracle.com/technetwork/middleware/ias/downloads/wls-main-097127.html

2.生成PLUGIN所依赖的包

a. 打开terminal 进入{weblogic_home}/wlserver_10.3/server/lib,之后运行

Java -jar wljarbuilder.jar -profile weblogic-maven-plugin

用来生成WEBLOGIC-MAVEN-PLUGIN的JAR包,

b. 打开这个包,找到weblogic-maven-plugin.jar\META-INF\maven\com.oracle.weblogic\weblogic-maven-plugin\POM.XML.

把POM.XML文件解压缩到{weblogic_home}/wlserver_10.3/server/lib里.

c. 之后在terminal中运行如下命令,路径依然是在{weblogic_home}/wlserver_10.3/server/lib

mvn install:install-file -Dfile={weblogic_home}/wlserver_10.3/server/lib/weblogic-maven-plugin.jar -DpomFile=pom.xml

当你看到build success后.说明依赖的包已经生成,这时候可以去{user_home}/.m2\repository\com\oracle\weblogic\weblogic-maven-plugin\10.3.4

查看JAR包是否已经存在.

4.使用PLUGIN

在你的项目中添加PLUGIN

 

 

[xml] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <plugin>  
  2.                 <groupId>com.oracle.weblogic</groupId>  
  3.                 <artifactId>weblogic-maven-plugin</artifactId>  
  4.                 <version>10.3.4</version>  
  5.                 <configuration>  
  6.                     <upload>true</upload>  
  7.                     <action>deploy</action>  
  8.                     <remote>false</remote>  
  9.                     <verbose>true</verbose>  
  10.                     <source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source>  
  11.                     <name>${project.build.finalName}</name>  
  12.                 </configuration>  
  13.             </plugin>  

 

 

configuration中还可以添加adminurl,user,password,target等属性.如果不添加的话,在执行MAVEN命令时可以手动添加在命令后面.

给一个完整的

 

 

[xml] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <plugin>   
  2.       <groupId>com.oracle.weblogic</groupId>   
  3.       <artifactId>weblogic-maven-plugin</artifactId>   
  4.       <version>10.3.4</version>   
  5.       <configuration>   
  6.           <adminurl>t3://localhost:7001</adminurl>  
  7.           <user>weblogic</user>   
  8.           <password>weblogic123</password>   
  9.           <upload>true</upload>   
  10.           <action>deploy</action>   
  11.           <remote>false</remote>   
  12.           <verbose>true</verbose>   
  13. <source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source>   
  14.          <name>${project.build.finalName}</name>   
  15.       </configuration>   
  16.       <!--   
  17.       <executions>   
  18.          <execution>   
  19.             <phase>install</phase>   
  20.               <goals>   
  21.                 <goal>deploy</goal>   
  22.               </goals>   
  23.          </execution>   
  24.        </executions>   
  25.        -->   
  26.   </plugin>   

 

 

5.执行MAVEN命令

在项目中POM.xml的位置上,执行

mvn com.oracle.weblogic:weblogic-maven-plugin:deploy -Dadminurl=t3://localhost:7001 -Duser=weblogic -Dpassword=weblogic1 -Dtargets=AdminServer 

如果你已经在POM中定义好了参数,就没必要在命令行后添加参数了.


此外如果需要提前命令,可以用help来查看,查看结果:
---
The following are the goals available currently in Maven
deploy
list-apps
redeploy
start-app
stop-app
undeploy
update-app

所以,针对先卸载应用,再部署应用可以:
clean package com.oracle.weblogic:weblogic-maven-plugin:undeploy com.oracle.weblogic:weblogic-maven-plugin:deploy  -Dadminurl=t3://10.1.73.7:8001 -Duser=weblogic -Dpassword=weblogic1

 

HINTS: 使用简单命令

a. 在你的{USER_HOME}.m2/settings.xml 文件里加入如下几下.

 

 

[xml] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <pluginGroups>  
  2.    <!-- pluginGroup  
  3.       | Specifies a further group identifier to use for plugin lookup.  
  4.     -->  
  5.    <pluginGroup>com.oracle.weblogic</pluginGroup>  
  6.  </pluginGroups>  

 

 

b. 之后再回到项目{weblogic_home}/wlserver_10.3/server/lib/POM.XML中,改成如下

 

 

[xml] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <project xmlns="http://maven.apache.org/POM/4.0.0"   
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0   
  4. http://maven.apache.org/maven-v4_0_0.xsd">  
  5.   <modelVersion>4.0.0</modelVersion>  
  6.   <groupId>com.oracle.weblogic</groupId>  
  7.   <artifactId>weblogic-maven-plugin</artifactId>  
  8.   <packaging>maven-plugin</packaging>  
  9.   <version>10.3.4</version>  
  10.   <name>Maven Mojo Archetype</name>  
  11.   <url>http://maven.apache.org</url>  
  12.   <dependencies>  
  13.     <dependency>  
  14.       <groupId>org.apache.maven</groupId>  
  15.       <artifactId>maven-plugin-api</artifactId>  
  16.       <version>2.0</version>  
  17.     </dependency>  
  18.   </dependencies>  
  19.    
  20.   <build>  
  21.    <plugins>  
  22.       <plugin>  
  23.        <artifactId>maven-plugin-plugin</artifactId>  
  24.        <version>2.3</version>  
  25.        <configuration>  
  26.          <goalPrefix>weblogic</goalPrefix>  
  27.        </configuration>  
  28.       </plugin>  
  29.     </plugins>  
  30.   </build>  
  31.    
  32. </project>  

 

 

c. 在当前目录再执行一遍 mvn install:install-file -Dfile={weblogic_home}/wlserver_10.3/server/lib/weblogic-maven-plugin.jar -DpomFile=pom.xml

重新生成PLUGIN所依赖的包

d. 现在你就可以用短命令了:mvn weblogic:deploy

0 0