Un problème se produit lorsque toutes les conditions suivantes sont vérifiées :
L'application est un fichier EAR contenant un client d'application.
Le fichier EAR est un répertoire déployé.
Le fichier EAR contient un module client d'application myAppClient.jar qui, de part sa nature (déploiement de répertoire), est déjà étendu dans myAppClient_jar. (Dans cet exemple, l'EAR s'appelle myApp. Il peut porter n'importe quel nom.)
Les tentatives de lancement du client d'application échouent et génèrent l'erreur ci-après car un fichier généré sur le serveur est placé dans le mauvais répertoire de serveur et écrase l'autre fichier généré :
java.lang.ClassNotFoundException:(main-class-for-the-client) |
Pour plus d'informations, reportez-vous à Issue report.
Donnez au client d'application un nom autre que myAppClient.jar . Notamment :
Modifiez myApp/META-INF/application.xml de sorte que la déclaration du client soit <java>myClient.jar</java>. Notez que vous pouvez utiliser tout nom autre que myAppClient.jar.
Remplacez le nom de répertoire myApp/myAppClient_jar par myApp/myClient_jar. Notez que le nom du sous-répertoire du client doit correspondre à celui de l'URI du client d'application dans le fichier application.xml, .jar étant remplacé par _jar.
Déployez l'application :
asadmin deploy --retrieve localdir myApp |
Exécutez le client d'application :
appclient -client localdir/myAppClient.jar |