2008-11-13 23 views
16

Estoy intentando configurar Weblogic Server 10.3 (y Portal, etc.) para usar maven como una herramienta de compilación. Estoy tratando de encontrar un tutorial decente o documentación sobre cómo hacer esto. Hay algunos tutoriales para versiones anteriores como 9.0, pero hay poca información para la versión 10.Usando maven como herramienta de compilación para Weblogic 10.3

Estoy buscando una forma de crear el archivo ear de weblogic con maven. ¿Las personas realmente están haciendo esto? ¿Vale la pena usar Maven?

Me gustaría usar maven para tener una integración más fácil con herramientas de integración continua como Hudson.

editar: Parece que hay una manera de exportar archivos maven directamente http://edocs.bea.com/wlw/docs102/guide/ideuserguide/build/conMavenScript.html. Pero esos archivos son envoltorios simples para la hormiga.

Respuesta

16

Estoy utilizando maven para construir un EAR que despliegue un servidor WebLogic 10.3. Las partes difíciles fueron:

  • Encontrar todas las dependencias de la weblogic-maven-plugin de
  • Poner todas las dependencias en el repositorio Maven (Realmente recomiendo Sonatype Nexus)
  • noExit establece el valor true (de lo contrario obtendrá problemas ! en Hudson)

utilizo la siguiente estructura de directorios en el proyecto EAR:

pom.xml 
src/ 
    main/ 
     app/ 
      META-INF/ 
        weblogic-application.xml 

La siguiente es tomado de mi pom.xml:

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-ear-plugin</artifactId> 
      <configuration> 
       <displayName>My Project</displayName> 
       <earSourceDirectory>src/main/app</earSourceDirectory> 
       <modules> 
        <webModule> 
         <groupId>com.somecompany</groupId> 
         <artifactId>webapp</artifactId> 
        </webModule> 
       </modules> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>weblogic-maven-plugin</artifactId> 
      <version>2.9.1</version> 
      <executions> 
       <execution> 
        <phase>deploy</phase> 
        <goals> 
         <goal>deploy</goal> 
         <goal>start</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <name>my-project</name> 
       <adminServerHostName>${wls.adminServerHostName}</adminServerHostName> 
       <adminServerPort>${wls.adminServerPort}</adminServerPort> 
       <adminServerProtocol>t3</adminServerProtocol> 
       <userId>${wls.userId}</userId> 
       <password>${wls.password}</password> 
       <upload>true</upload> 
       <remote>true</remote> 
       <verbose>false</verbose> 
       <debug>false</debug> 
       <targetNames>AdminServer</targetNames> 
       <noExit>true</noExit> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>com.sun</groupId> 
        <artifactId>tools</artifactId> 
        <version>1.5</version> 
        <scope>system</scope> 
        <systemPath>${java.home}/../lib/tools.jar</systemPath> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>weblogic</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>webservices</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.utils.full</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.i18n</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.rmi.client</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>javax.enterprise.deploy</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>webserviceclient</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.security.wls</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.security.identity</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.security</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>wlclient</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.transaction</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.utils.classloaders</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>wljmsclient</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.management.core</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>wls-api</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.descriptor</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.logging</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.socket.api</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.security.digest</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.workmanager</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.lifecycle</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.utils.wrapper</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>wlsafclient</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.management.jmx</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.descriptor.wl</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
      </dependencies> 
     </plugin> 
    </plugins> 
</build> 
9

Si su Weblogic 10.3 se sienta en la máquina local, trate de usar Cargo - Es mucho más fácil de instalar. Esto es lo que he tenido que añadir a pom.xml:

<plugin> 
    <groupId>org.codehaus.cargo</groupId> 
    <artifactId>cargo-maven2-plugin</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <configuration> 
      <container> 
        <containerId>weblogic103x</containerId> 
        <home>/path/to/your/wlserver_10.3</home> 
      </container> 
    </configuration> 
    </plugin> 
Cuestiones relacionadas