Cómo anular la biblioteca java existente o especificar la versión exacta para usar

Estoy usando ADF Framework dentro del paquete webcenter 11.1.1.5, que resultó haber incluido las bibliotecas Apache POI versión 3.5. Sin embargo, el proyecto actual requiere al menos 3.7, o incluso la última versión de esta biblioteca.

Tengo un servidor weblogic, con una aplicación de centro web previamente implementada y todas las bibliotecas necesarias para ello.

Si incluyo la versión 3.8 de la biblioteca de PDI de Apache dentro de mi proyecto, se implementa junto, sin embargo, la aplicación todavía usa la versión 3.5.

Las bibliotecas de Webcenter implementaron Earler y no puedo cambiar este comportamiento. ¿Hay alguna forma de anularlo al menos para mi aplicación, además de incluir fuentes de PDI de Apache en mi proyecto?

Gracias.

Respuesta 1

No estoy seguro de cómo va en weblogic, pero puedo recomendarle que eche un vistazo en la configuración de cargadores de clases. Por lo que recuerdo, hubo algún tipo de configuración de orden de cargadores de clases al implementar la aplicación web. En general, debe pedirle que use primero la ruta de clase de nivel de aplicación y luego las clases de biblioteca del servidor de aplicaciones. Abra la consola de administración de weblogic e intente encontrar esta configuración.

Respuesta: 2

Puede intentar mirar el archivo weblogic-application.xml (poner en META-INF). En este archivo es posible especificar qué clases deben cargarse desde la carpeta lib de la aplicación y no desde weblogic.

Ejemplo:

<wls:prefer-application-packages> <wls:package-name>org.apache.log4j.*</wls:package-name> </wls:prefer-application-packages>

(esto cargará log4j desde la aplicación lib, no la biblioteca weblogic log4j)

Respuesta: 3

He estado trabajando en una aplicación de reproductor de música, pero se bloquea cada vez que llego al final de la vista de lista y no sé cómo solucionarlo. logcat me mostró java.lang.NumberFormatException: error nulo e intenté ...

Admito que la pregunta anterior puede ser difícil de entender, así que comencemos desde el principio. Creé un gráfico de bloques en 3D, los valores x, y están representados por punto y el valor z está representado por color. Ahora, lo que necesito ...

Estoy creando una aplicación de video chat que utiliza redes java (también conocidas como sockets) para enviar imágenes de la cámara web a otro cliente. Mi código envía primero la longitud de los datos de la imagen almacenada y luego los datos reales. ...

Tengo una ArrayList de cadenas que necesito modificar. Cuando los agrego a la lista se ven así. tick.add ("CAST.ST"); tick.add ("ELUX-B.ST"); tick.add ("EKTA-B.ST"); Entonces tengo un método para ...