2011-08-25 17 views
15

En mi aplicación estoy usando Joda-Time 2.0 pero en mi ruta WebLogic hay una biblioteca Joda-Time 1.2.¿Cómo establecer el orden de jar en WebLogic?

¿Cómo puedo cambiar el orden y decirle a WebLogic que use mi biblioteca? Ahora está usando su propia biblioteca, no la mía. Acabo de agregar una dependencia de proyecto Maven a Joda-Time 2.0.

Respuesta

26

Existen varias formas de hacerlo.

  1. Cambiar la startWeblogic.cmd (SH) en la carpeta bin para su dominio, busque la configuración ruta de clase y añadir el nuevo joda antes que cualquier otro tarros WebLogic
  2. como se dijo anteriormente, puede cambiar su WebLogic .xml si la aplicación es una aplicación web y elige preferir cualquier lib que entre dentro de la guerra.
  3. Si está utilizando una aplicación de empresa, se pueden establecer las siguientes opciones en su weblogic-aplicacion.xml:

    <prefer-application-packages> 
        <package-name>org.apache.*</package-name> 
        <package-name>antlr.*</package-name> 
    </prefer-application-packages> 
    

Y establecer el nombre del paquete de joda en ese país.

Tenga en cuenta que la primera opción puede provocar un comportamiento extraño de WebLogic.

Tenga en cuenta que por alguna razón no puedo obtener el código para trabajar con el XML.

+0

thx para otra solución, pero el primero es más elegante y funciona pero thx de todos modos – hudi

+1

tenga en cuenta que no tiene nada que ver con la elegancia. las dos opciones 2 y 3 pueden ser necesarias dependiendo de los detalles de su proyecto. JoseK funciona para el contenedor web, pero fallará si lo necesita en su contenedor ejb. Pero si funciona para usted, es la solución que estaba buscando –

+0

+1 en esta; la opción 2 incluye la otra respuesta en sí y la opción 3 es mi opción preferida, ya que le permite especificar qué bibliotecas se cargan en el nivel de la aplicación. El uso de prefer-web-inf-classes es un enfoque de todo o nada y causará mucha duplicación cuando se carguen libs que, de lo contrario, se compartirían en el nivel del servidor. – CashIsClay

11

medida que su clase está presente en su guerra, WEB-INF/lib,

se puede tratar de usar la configuración weblogic.xml para obligar a la clase WEB-INF/lib para ser cargado con preferencia a la de servidor/lib con

<container-descriptor>  
<prefer-web-inf-classes>true</prefer-web-inf-classes> 
</container-descriptor> 
+0

nice thx mucho – hudi

Cuestiones relacionadas