Lives in the UK. Likes blogging, cycling and eating lemon drizzle cake. Roger is a DZone MVB and is not an employee of DZone and has posted 143 posts at DZone. You can read more from them at their website. View Full User Profile

Deploying Applications to Weblogic Using Maven

09.21.2011
| 8035 views |
  • submit to reddit

When developing JEE applications as part of the development cycle, it’s important to deploy to a development server before running end to end or integration tests. This blog demonstrates how to deploy your applications to your Weblogic server using Maven and, it transpires that there are at least two ways of doing this.

The first way is using a the weblogic-maven-plugin available from Oracle and you can find an article on how to install this available on the Oracle website. The unfortunate thing about this is that Oracle don’t deploy their JARs to a Maven repository, which means that you have to do some jiggery-pokery messing around setting up your local repository. The Oracle article defines three steps: creating a plug-in jar using the wljarbuilder tool, extracting the pom.xml and then installing the results to your local repository using mvn install:install-file. In order to use this plug-in, you’ll need to add the following to your program’s POM file:

<plugin> 
    <groupId>com.oracle.weblogic</groupId> 
        <artifactId>weblogic-maven-plugin</artifactId> 
        <version>10.3.4</version> 
        <configuration> 
            <adminurl>t3://localhost:7001</adminurl>
            <user>weblogic</user> 
            <password>your-password</password> 
            <upload>true</upload> 
            <action>deploy</action> 
            <remote>false</remote> 
            <verbose>true</verbose> 
            <source>../marin-tips-ear/target/marin-tips.ear</source> 
            <name>${project.build.finalName}</name> 
        </configuration> 
        <executions> 
            <execution> 
                <phase>install</phase> 
                <goals> 
                    <goal>deploy</goal> 
                </goals> 
            </execution> 
        </executions> 
    </plugin> 

The second method of deploying an application to your Weblogic server is by using a ‘good-ol’ Ant script. This method is simpler as you don’t need to bother creating plug-in JARs or installing them in your local repository. The POM file additions are:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.6</version>
    <executions>
        <execution>
            <id>deploy-to-server</id>
            <phase>pre-integration-test</phase>
            <configuration>
                <tasks>
                <property environment="env"/>
                <taskdef name="wldeploy" classpath="/Users/Roger/Weblogic/wls1035_dev/wlserver/server/lib/weblogic.jar"
                      classname="weblogic.ant.taskdefs.management.WLDeploy"/>
                <wldeploy action="deploy" verbose="true" source="../marin-tips-ear/target/marin-tips.ear"
                      name="marin-tips" user="weblogic" password="password"
                      adminurl="t3://localhost:7001"
                      targets="myserver"/>
            </tasks>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>    

I prefer the old fashioned Ant way more purely because it’s less hassle and adheres to the Keep It Simple Stupid rule of programming as, unless Oracle make their JAR files available on some repository, then extra set-up steps aren’t really an improvement.

 

From http://www.captaindebug.com/2011/09/deploying-applications-to-weblogic.html

Published at DZone with permission of Roger Hughes, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)