2010-01-13 7 views
3

Où est le soleil appserv-ant.jar dans Glassfish v3Où est le soleil appserv-ant.jar pour Glassfish v3

J'ai créé un petit exemple de projet EJB et je veux utiliser fourmi pour déployer l'application Glassfish v3. Ive a passé beaucoup de temps sur google essayant de réaliser cela et tous les échantillons de fourmis semblent se référer à un fichier jar appelé "sun-appserv-ant.jar" qui est censé être situé dans le répertoire des modules de l'application installation de serveur, cependant, je ne peux pas le trouver n'importe où, et je ne peux pas sembler trouver la raison pour laquelle, ou s'il y a même une alternative basée sur la fourmi.

Merci

Répondre

3

Vous devez ajouter le module glassfish-ant-tasks via l'outil de mise à jour GlassFish

+0

Merci pour la réponse. J'ai fait ça. Cependant, sun-appserv-ant.jar n'a pas été ajouté au répertoire des modules sous /glassfish/modules Ai-je manqué quelque chose – Kirk

+2

Son un différent jar maintenant ant-tasks.jar, et l'interface a changé un peu aussi. Luzifer42

+1

À partir de Glassfish 3.1, le module que vous devez ajouter n'est pas "Ant", mais "glassfish-ant-tasks" –

5

Le fichier sun-appserv-ant.xml n'a pas été mis en avant avec v3.

Vous n'êtes pas complètement coincé cependant. Vous pouvez read about the Ant exec task, que vous pouvez utiliser pour déclencher asadmin commands

Si vous êtes très aventureux, vous pouvez étudier le cadre de projet bp utilisé par les exemples de projets livrés avec le Java EE 6 SDK.

Vous pouvez jeter un coup d'œil sur le framework bp-project en regardant le code dans le glassfish-samples repository.

1

Après beaucoup de douleur que je trouve un exemple de la façon d'utiliser les outils de fourmis V3.x here

L'inconvénient, pour non-francophones, est qu'il est en français. L'avantage est que les parties Java sont toujours en Java.

D'après ce que je peux dire, les tâches Ant maintenant diffèrent considérablement de ce qui est documenté par Sun (Oracle):

  1. Vous devez utiliser l'outil de mise à jour du serveur Glassfish pour obtenir le module glassfish-ant-tasks.

  2. Cela entraînera le téléchargement du fichier * glassfish_dir */lib/ant/ant-tasks.jar. Cela doit être inclus dans votre classpath

  3. Définir une cible as-ant-init dans votre build.xml

    <target name="as-ant-init"> 
        <taskdef name="sun-appserv-deploy" 
         classname="org.glassfish.ant.tasks.DeployTask" 
         classpath="${build-lib}/ant-tasks.jar" /> 
        <taskdef name="sun-appserv-undeploy" 
         classname="org.glassfish.ant.tasks.UndeployTask" 
         classpath="${build-lib}/ant-tasks.jar" /> 
        <taskdef name="sun-appserv-component" 
         classname="org.glassfish.ant.tasks.ComponentTask" 
         classpath="${build-lib}/ant-tasks.jar" /> 
        <taskdef name="sun-appserv-admin" 
         classname="org.glassfish.ant.tasks.AdminTask" 
         classpath="${build-lib}/ant-tasks.jar" /> 
        <taskdef name="sun-appserv-redeploy" 
         classname="org.glassfish.ant.tasks.RedeployTask" 
         classpath="${build-lib}/ant-tasks.jar" /> 
        <taskdef name="sun-appserv-start-server" 
         classname="org.glassfish.ant.tasks.StartServerTask" 
         classpath="${build-lib}/ant-tasks.jar" /> 
        <taskdef name="sun-appserv-stop-server" 
         classname="org.glassfish.ant.tasks.StopServerTask" 
         classpath="${build-lib}/ant-tasks.jar" /> 
    </target> 
    
  4. Écrivez la cible de déploiement. Les règles sont similaires à ce qui est dans la documentation, SAUF

    A. Retirez les références à l'élément <server> qui a été utilisé dans les anciennes versions.

    B.Tous les attributs qui auraient été attachés à <server> dans l'ancienne version de l'API sont maintenant attachés directement à l'élément contenant, comme <sun-appserv-deploy>, comme ceci:

    <target name="deploy"> 
        <sun-appserv-deploy 
         user="${glassfish.admin-user}" 
         passwordfile="${glassfish.passwordfile}}" 
         host="${glassfish.host}" 
         port="${glassfish.admin-port}" 
         installDir="${asinstalldir}" 
         upload="true" > 
    
         <component 
          file="${dist.warfile}" 
          name="My application" 
          contextroot="${glassfish.context-root}" /> 
        </sun-appserv-deploy> 
    </target> 
    
Questions connexes