WebLogic 10.3.4

No es necesario usar JDeveloper (el IDE de Oracle para usar WebLogic) – y además estoy en Linux de 64bits – así es que lo que bajaré es el instalador genérico que no trae JVM. Su entorno podría ser distinto, aunque en cualquier caso descarga de acá >>
Ésto lo que baja es un jarel cual ejecutamos con

java -jar wls1034_generic.jar

con lo que se abre el instalador.
Básicamente se le dice dónde y éste crea la carpeta del servidor, la cual referenciaremos en el próximo paso.

Eclipse

El IDE que usaremos, entonces, es -obviamente- Eclipse (Indigo).
Para poder deployar desde Eclipse a WebLogic vamos a la pestaña Servers y ahí con el botón derecho le damos a New > Server.
Necesitaremos el adaptador para WebLogic, así es que, si no lo tenemos, arriba hay un link que dice Download additional server adapters.
Ahí seleccionamos Oracle Weblogic Server etc. y queda listo para añadir el servidor.
Entonces volvemos a New > Server y en WebLogic home ponemos la ruta donde el instalador del punto anterior dejó el servidor.
La mayoría de las instalaciones trae una JVM adentro y  la encuentra automágicamente, pero como yo instalé el servidor solo tengo que pasarle también el Java home.
(También hay um link para instalar JPA 2 en el servidor, lo cual estoy haciendo aunque no estoy seguro por qué…)
Finalmente te pide el Domain directory (los dominios son un feature específico de WebLogic). Si es una instalación limpia hay que crearlo, lo cual hacemos en Create (las estrellitas). Tendremos que darle un nombre y una contraseña.

Maven

Finalmente crearemos el proyecto base usando Maven.
A diferencia de JBoss >>, WebLogic no parece tener un repositorio de Maven y en la Central no hay mucho referente a este server… aunque esto puede ser porque es propietario.
Así es que supondremos que no se necesitan configuraciones ni dependencias adicionales para correr en WebLogic y lo intentaremos con un arquetimo de JEE6 puro…

Pensé que ésos podían ser los de knappsack >> pero no, éstos dependen de jboss-javaee-6.0
¿Qué tal los de codehaus? ejb-javaee6 >> lo único que tiene es un jar de jee… en el fondo es para agregarle dependencias suponiendo únicamente que algún contenedor le va a dar (provided) javaee-api… podría servir.
webapp-javaee6 >> es lo mismo  pero con dependencia a javaee-web-api.
pero ear-javaee6 >> no tiene dependencias…
lo que sí tiene es el plugin >> que sirve para poder compartir jars entre proyectos de un mismo ear.

Ahora, si yo quiero un jar y un war… ¿será mejor usar el ear o un jar y un war por separado?
Como es posible que tenga que correr en máquinas separadas, optaré por esta última opción >>.

maven-weblogic-plugin

No estoy seguro que lo necesite… porque a priori lo que ofrece son goals para deploy, etc. sin embargo el jar que creé con el arquetipo recién no puede ser deployado a WebLogic, imagino que le debe faltar un archivo de configuración o algo así, así es que veré si ésto me guía al respecto.

Como WebLogic no es open source, no está en la central y hay que sacarlo de la carpeta de instalación del servidor >>

Desde la carpeta wlserver_10.3/server/lib/ ejecutamos

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

para construir el jar del plugin.

Luego del weblogic-maven-plugin.jar generado extraemos el pom.xml (queda en META-INF/maven/com.oracle.weblogic/weblogic-maven-plugin/)

En seguida dejamos el jar en nuestro repositoriomaven con

mvn install:install-file -Dfile=weblogic-maven-plugin.jar -DpomFile=pom.xml

Con éso ya lo podemos invocar – con su dirección absoluta – por ejemplo para hacer deploy

mvn com.oracle.weblogic:weblogic-maven-plugin:deploy

Pero igual no deploya (por que el goal no reconoce el parámetro source, i.e. porque lo anterior no está bien).
Así que parece que no es lo que estaba buscando…

jee5

Acabo de darme cuenta que hay un error de concepto en el título de este post ya que WebLogic 10.3.4 (11g) es un servidor de JEE 5 >>.
Así es que, si bien quizás es recomendable partir de un arquetipo totalmente vacío >> de todos modos tendré que declararle como dependencia por lo menos esta versión de java >>

<dependency>
<groupId>javaee</groupId>
<artifactId>javaee-api</artifactId>
<version>5</version>
<scope>provided</scope>
</dependency>

(nótese que el groupId es javaee, no javax)

update:
Si bien WebLogic 11g efectivamente es un servidor de JEE5, específicamente esta versión (10.3.4) soporta algunas funcionalidades de JEE6 >>.
Éstas son

  • JPA 2
  • JAX-RS
  • JSF 2

plugins

además, los primeros archetypes traen una serie de plugins, cuya benevolencia también cuestionaremos ahora

  • maven-compiler-plugin >> : especifica el compilador de java (javac). de dejarlo, ¿quizás debiera cambiar el source y target a 1.5?
  • maven-ejb-plugin >> y maven-war-plugin >> (respectivamente) : éstos parecen necesarios. en el fondo proveen de goals para que al compilarlo se genere como es debido el jar o war.
    De hecho notar que WebLogic 11g no soporta EJB 3.1, por lo que el plugin ya nos es de utilidad para especificar

    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-ejb-plugin</artifactId>
    <version>2.3</version>
    <configuration>
    <ejbVersion>3.0</ejbVersion><!-- WebLogic 11g soporta hasta EJB 3 -->
    </configuration>
    </plugin>
    
  • maven-dependency-plugin >> : éste lo sacaré. tiene goals para copiar el resultado o las dependencias, que es algo que estaba usando el arquetipo inicialmente no sé para qué..
Este sitio utiliza cookies.    Leer más