Java EE 6 impone reglas de visibilidad de JAR más estrictas que Java EE 5. Como resultado, puede que fallen algunas aplicaciones anteriores.
La especificación de Java EE 6 impone reglas estrictas sobre qué archivos JAR se visualizan desde un archivo Enterprise Archive (EAR) (archivo de empresa). Consulte en particular la sección EE.8.3.3. En concreto, los módulos de cliente de aplicación no deben tener acceso a ningún archivo JAR EJB a menos que el manifiesto de archivos JAR del cliente de la aplicación Class-Path haga referencia explícitamente a los archivos JAR EJB.
Este es un cambio con respecto a Enterprise Server v2, en el que los clientes de aplicaciones tenían acceso automáticamente a todos los archivos EJB JAR del archivo EAR y a todos los archivos JAR del nivel superior del archivo EAR. Para ser acorde con el idioma de especificación más estricto, Enterprise Server v3 no puede proporcionar automáticamente clientes de aplicaciones con acceso a estos archivos JAR.
Este nuevo comportamiento más estricto que impone Java EE 6 se puede gestionar del siguiente modo:
Si la aplicación está implementada en un dominio de Enterprise Server v2, la Herramienta de actualización conservará el comportamiento de Enterprise Server v2 para dicha aplicación de ese dominio. Para obtener más información sobre la actualización, consulte la Sun GlassFish Enterprise Server v3 Upgrade Guide .
Cambie el manifiesto Class-Path del cliente para que haga referencia explícitamente a los archivos JAR de los que depende. Class-Path no debe enumerar los archivos JAR del directorio de la biblioteca de archivos EAR. Tal como se requiere en la especificación, todos los archivos JAR de ese directorio están disponibles para todos los módulos del archivo EAR. De forma predeterminada, este directorio es /lib, o se puede establecer en algún otro directorio mediante library-directory en el descriptor de application.xml.
Implemente el archivo EAR utilizando el valor opcional --compatibilidad de propiedad=v2. Esto preserva el comportamiento de Enterprise Server v2 para dicha aplicación cuando se implemente en Enterprise Server v3.
Este cambio de comportamiento se analiza también en el Capítulo 1, Application Server Compatibility Issues de Sun GlassFish Enterprise Server v3 Upgrade Guide.