Java EE 6 impose des règles de visibilité plus strictes des fichiers JAR que Java EE 5. Par conséquent, certaines applications plus anciennes risque de ne pas fonctionner correctement.
Java EE 6 specification impose des règles strictes de visibilité des fichiers JAR à partir d'un fichier EAR (ficher archive d'entreprise). Consultez tout particulièrement la section EE.8.3.3. Les modules client d'application notamment ne doivent avoir accès à aucun fichier JAR EJB à moins que le manifest du fichier JAR de client d'application class-path ne fasse explicitement référence au(x) fichier(s) JAR EJB.
Ceci diffère de Enterprise Server v2 dans lequel les clients d'application avaient automatiquement accès à tous les fichiers JAR EJB dans le fichier EAR, ainsi qu'à tous les fichiers JAR au niveau le plus élevé du fichier EAR. Pour se conformer au langage de spécification plus stricte, Enterprise Server v3 ne peut pas fournir automatiquement aux clients d'application l'accès à ces fichiers JAR.
Ce nouveau comportement plus stricte imposé par Java EE 6 peut être utilisé comme suit :
Si l'application est déployée sur un domaine Enterprise Server v2, l'outil de mise à niveau préserve le comportement de Enterprise Server v2 de cette application dans ce domaine. Pour plus d'informations sur les mises à niveau, reportez-vous au Sun GlassFish Enterprise Server v3 Upgrade Guide.
Modifiez le fichier manifeste Class-Path du client afin qu'il réfère explicitement aux fichiers JAR desquels il dépend. Class-Path ne doit pas répertorier les fichiers JAR dans le répertoire de bibliothèque du fichier EAR. De par la spécification , tous les fichiers JAR de ce répertoire sont mis à la disposition de tous les modules du fichier EAR. Ce répertoire est par défaut /lib ; toutefois, vous pouvez définir un autre répertoire à l'aide de library-directory dans le descripteur application.xml.
Déployez le fichier EAR à l'aide du paramètre facultatif --property compatibility=v2. Ce paramètre permet de préserver le comportement de Enterprise Server v2 pour l'application en question lors de son déploiement sur Enterprise Server v3.
Ce changement de comportement est également abordé dans Chapitre 1, Application Server Compatibility Issues du Sun GlassFish Enterprise Server v3 Upgrade Guide.