Glassfish 3.1.1 Class Loader Order con archivos jar

Digamos que tengo 2 archivos jar con el mismo nombre y coloco uno en la carpeta glassfish/lib y el otro en glassfish/domains/domain/lib (o glassfish/domains/domain/applibs).

esos 2 archivos jar tienen el mismo nombre de clase, digamos A, y el nombre del método, digamos method1, pero una implementación diferente de method1.

Cuando inicio el servidor Glassfish y llamo a A.method1() en mi aplicación, ¿qué método se ejecuta?

Hice una prueba y parecía que el método en glassfish/lib se ejecutaba. ¿Hay alguna manera de ejecutar el otro método?

preguntado el 03 de mayo de 12 a las 18:05

1 Respuestas

Hice un poco lo mismo en Tomcat en algún momento en el que puse una implementación en el directorio Tomcat\lib y la otra en el directorio application\lib.

Si application\lib contiene alguna implementación, se le da preferencia sobre el directorio server\lib, mientras que en ausencia de application\lib, server\lib se usa para ejecutar la aplicación.

Por lo tanto, en su caso, es decir, dominio, parece que el dominio\lib A.method1() se estaría ejecutando si ambas implementaciones existen.

contestado el 03 de mayo de 12 a las 19:05

probé y es el otro método llamado :( - neo

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.