maven 2 - dependency - Usando maven como herramienta de compilación para Weblogic 10.3
com.oracle.weblogic maven dependency (5)
Estoy utilizando maven para construir un EAR que despliegue un servidor WebLogic 10.3. Las partes difíciles fueron:
- Encontrar todas las dependencias del weblogic-maven-plugin
- Poniendo todas las dependencias en el repositorio maven (realmente recomiendo Sonatype Nexus )
- Estableciendo noSalir en verdadero (de lo contrario, ¡tendrá problemas en Hudson!)
Utilizo la siguiente estructura de directorio en el proyecto EAR:
pom.xml
src/
main/
app/
META-INF/
weblogic-application.xml
Lo siguiente está 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>
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.
Estoy buscando una forma de construir 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 haber 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.
http://mojo.codehaus.org/weblogic-maven-plugin/ es el complemento utilizado anteriormente para implementar proyectos de orejas en weblogic. Pero parece tedioso. Oracle lanzó su complemento sucesor para weblogic. Este complemento es comparativamente más fácil de usar y configura http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm
Oracle también proporciona un plugin Maven: http://docs.oracle.com/cd/E21764_01/web.1111/e13702/maven_deployer.htm
También puede usar el plugin Maven ANTRUN como lo ilustra en este blog:
http://loutilities.wordpress.com/2012/06/20/use-your-maven-build-to-auto-deploy-to-weblogic-10-3/
Si su Weblogic 10.3 se encuentra en la casilla local, intente utilizar Cargo : es mucho más fácil de configurar. Esto es lo que tuve que agregar 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>