对Maven的支持是WebLogic Server 10.3.4的一个新特性,通过WebLogic插件,用户可以通过Maven实现对于对应用发布周期的管理。本文将介绍此插件的制作及使用的最佳实践。
1. 制作插件
进入%WL_HOME%/server/lib目录,执行如下命令
java -jar wljarbuilder.jar -profile weblogic-maven-plugin
此命令执行后将生成 weblogic-maven-plugin.jar文件,其中包括一个pom.xml描述文件指定如下信息
- groupId=com.oracle.weblogic
- artifactId=weblogic-maven-plugin
- version=10.3.4
- packaging=maven-plugin
2. 定制pom.xml配置文件
将weblogic-maven-plugin.jar中的pom.xml文件取出(可以借助winrar或7-zip等工具),放在%WL_HOME%/server/lib中。
如果安装插件成功后,执行命令需要输入很长的命令,例如:
shell>mvn com.oracle.com:weblogic-maven-plugin:deploy
为了避免此情况,需要做如下修改:
a. 修改%USER_HOME%/.m2/settings.xml(例如:在我的Win7上是c:/Users/gniu/.m2/settings.xml ),加入如下代码:
<pluginGroups>
<pluginGroup>com.oracle.weblogic</pluginGroup>
</pluginGroups>
b. 修改%WL_HOME%/server/lib目录下的pom.xml文件,加入如下代码:
<plugin>
<artifactid>maven-plugin-plugin</artifactid>
<version>2.3</version>
<configuration>
<goalprefix>weblogic</goalprefix>
</configuration>
</plugin>
c. 测试
shell>mvn weblogic:help
3. 安装插件
在%WL_HOME%/server/lib目录下执行如下命令:
shell>mvn install
shell>mvn install:install-file -Dfile=weblogic-maven-plugin.jar -DpomFile=pom.xml
4. 测试插件
创建mvn项目,此过程略,pom.xml文件如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.oraclefmw</groupId>
<artifactId>sample-web</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>sample-web</name>
<url>http://www.oraclefmw.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies />
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>com.oracle.weblogic</groupId>
<artifactId>weblogic-maven-plugin</artifactId>
<version>10.3.4</version>
<configuration>
<adminurl>t3://localhost:7001</adminurl>
<name>sample-web</name>
<user>weblogic</user>
<remote>true</remote>
<upload>true</upload>
<password>welcome1</password>
<source>target/sample-web.war</source>
</configuration>
</plugin>
</plugins>
<finalName>sample-web</finalName>
</build>
</project>
部署应用测试
shell>mvn weblogic:deploy
5. 注意事项
看到Mark Nelson的博客有如下代码:
<pre class="xml" name="code"> <executions>
<execution>
<id>deploy</id>
<phase>pre-integration-test</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<source>target/wldemo.war</source>
</configuration>
</execution>
</pre>我也尝试为每个goal指定不同的configurations,但是未试成功,未找到解决方案,不知道他是怎么成功的。
参考资料
(完)