IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

Déploiement avec Maven sous JBoss


Sujet :

Maven Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Points : 66
    Points
    66
    Par défaut Déploiement avec Maven sous JBoss
    Bonjour,

    Peut-on renseigner le fichier pom.xml père afin qu'il déploie sur le serveur JBoss les fichiers .war qu'il vient de créér en compilant ?

    Apparemment la balise suivante pourrait s'avérer utile :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      <distributionManagement>
        <repository>
          <id>mycompany-repository</id>
          <name>MyCompany Repository</name>
          <url>scp://repository.mycompany.com/repository/maven2</url>
        </repository>
      </distributionManagement>
    Mais je n'ai pas besoin de scp parce qu'en fait c'est sur le même serveur que se trouve le serveur JBoss j'aurais juste besoin qu'il copie les .war(s) dans /mon/path/jboss/server/default/deploy/

    Comment lui dire simplement ?

  2. #2
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    Si tu veux simplement qu'il copie les war au bon endroit, tu peux éventuellement créer une tache ant qui réalise la copie.
    The path of excess
    leads to the tower of wisdom.
    (Enigma)

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Points : 66
    Points
    66
    Par défaut
    Très bien, mais comment on fait ?

  4. #4
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    En utilisant le plugin ant prévu pour maven :
    Ant tasks
    The path of excess
    leads to the tower of wisdom.
    (Enigma)

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Points : 66
    Points
    66
    Par défaut
    Ok, j'ai installé ANT et mis le jar du maven-ant-tasks dans le répertoire /lib du ANT_HOME que j'ai défini également en variable d'environnement.

    Par contre aurais-tu fais des scripts Ant ?

    Puis-je mettre une instruction Ant dans le pom.xml direct ?

    En gros aurais-tu des exemples ?

    ça me parle pas des masses Ant...

  6. #6
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    Voila un exemple de ce que tu peux trouver dans le pom.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
    <execution>
    <id>install</id>
    <phase>install</phase>
    <configuration>
    <tasks >
    <!-- script ant -->
    <ant antfile="tonScript.xml">
    <target name="tonTarget"/>
    </ant>
    </tasks>
    </configuration>
    <goals>
    <goal>run</goal>
    </goals>
    </execution>
    </executions>
    </plugin>
    Le contenu des balises tasks est interprété comme un script Ant.
    The path of excess
    leads to the tower of wisdom.
    (Enigma)

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Points : 66
    Points
    66
    Par défaut
    Merci beaucoup, impécable.

    Par contre une question que je me pose le pom.xml va être lu par maven qui va créér les .war, .ear etc... donc si je veux copier ces scripts va bien falloir que je mette l'instruction tasks à la fin du pom.xml pour être sûr que les fichiers .war, .ear soient bien créés, non ?

    tonTarget ? cela correspond à quoi ?

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Points : 66
    Points
    66
    Par défaut
    J'ai un message d'erreur lorsque je compile il ne reconnais pas le plugin maven-ant-task pourtant je l'ai bien mis dans le ANT_HOME/lib/, je l'ai également défini dans les préférences d'Eclipse.

    Voici le message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Error message:Failed to load plugin. Reason: Unable to build project for plugin 'org.apache.maven.plugins:maven-antrun-plugin': POM 'org.apache.maven.plugins:maven-antrun-plugin' not found in repository: Unable to download the artifact from any repository
     
      org.apache.maven.plugins:maven-antrun-plugin:pom:1.1
     
    from the specified remote repositories:
      central (<a href="http://eros.inservio.local:8083/archiva/repository/internal/" target="_blank">http://eros.inservio.local:8083/arch...tory/internal/</a>),
      snapshots (<a href="http://eros.inservio.local:8083/archiva/repository/snapshots/" target="_blank">http://eros.inservio.local:8083/arch...ory/snapshots/</a>),
      internal (<a href="http://eros.inservio.local:8083/archiva/repository/internal/" target="_blank">http://eros.inservio.local:8083/arch...tory/internal/</a>)
     for project org.apache.maven.plugins:maven-antrun-plugin
    Root error message:Unable to download the artifact from any repository
    effectivement je pointe uniquement sur mon serveur Archiva interne eros.

    Eros n'a effectivement pas le plugin maven-antrun-plugin d'installé donc normal qu'il plante !

    Mais je pensais que l'installation du .jar suffirait.

    Quelqu'un a eu le problème ?

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Points : 66
    Points
    66
    Par défaut
    J'ai coupé l'accès au Net, du coup, la section suivante ne vas pas marcher si ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    		<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-antrun-plugin</artifactId>
    				<executions>
    					<execution>
    						<id>install</id>
    						<phase>install</phase>
    						<configuration>
    							<tasks >
    							<!-- script ant -->
    								<ant antfile="tonScript.xml">
    								<target name="tonTarget"/>
    								</ant>
    							</tasks>
    						</configuration>
    						<goals>
    							<goal>run</goal>
    						</goals>
    					</execution>
    			    </executions>
    			</plugin>

    Ah, comment fais-t-on pour mettre le code XML ? là j'ai mis uniquement les QUOTE basique...

  10. #10
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par vincent_17 Voir le message
    Merci beaucoup, impécable.

    Par contre une question que je me pose le pom.xml va être lu par maven qui va créér les .war, .ear etc... donc si je veux copier ces scripts va bien falloir que je mette l'instruction tasks à la fin du pom.xml pour être sûr que les fichiers .war, .ear soient bien créés, non ?

    tonTarget ? cela correspond à quoi ?
    La balise phase du plugin ant défini à quel moment le script ant est exécuté (à la fin de la phase spécifiée). Etant donné que le script doit être exécuté en toute fin, dans ton cas tu dois avoir
    "tonTarget" correspond à la cible du script ant à exécuter.
    The path of excess
    leads to the tower of wisdom.
    (Enigma)

  11. #11
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par vincent_17 Voir le message
    J'ai coupé l'accès au Net, du coup, la section suivante ne vas pas marcher si ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    		<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-antrun-plugin</artifactId>
    				<executions>
    					<execution>
    						<id>install</id>
    						<phase>install</phase>
    						<configuration>
    							<tasks >
    							<!-- script ant -->
    								<ant antfile="tonScript.xml">
    								<target name="tonTarget"/>
    								</ant>
    							</tasks>
    						</configuration>
    						<goals>
    							<goal>run</goal>
    						</goals>
    					</execution>
    			    </executions>
    			</plugin>

    Ah, comment fais-t-on pour mettre le code XML ? là j'ai mis uniquement les QUOTE basique...
    Le jar du plugin doit être présent dans le repository local de maven, et dans ce cas, même sans accès web, il trouvera le plugin.
    The path of excess
    leads to the tower of wisdom.
    (Enigma)

  12. #12
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Points : 66
    Points
    66
    Par défaut
    J'ai copié le maven-ant-tasks-2.0.7.jar sous :

    C:\03 repository-maven-2103\ant\ant\1.6

    mais j'ai toujours la même erreur...

  13. #13
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Points : 66
    Points
    66
    Par défaut
    Bon j'ai résollu le problème en donnant accès momentanément à "repo1.maven.org/maven2" afin de télécharger le plugin...

    C'est Ok, il ne me reste plus qu'à écrire le script Ant.

  14. #14
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Points : 66
    Points
    66
    Par défaut
    Bonjour voici la section de mon pom.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    	<plugin>
            		<groupId>org.apache.maven.plugins</groupId>
            		<artifactId>maven-antrun-plugin</artifactId>
    				<executions>
    					<execution>
    						<id>install</id>
    						<phase>install</phase>
    						<configuration>
    							<tasks>
    							  <ant antfile="build.xml">
    								<target name="test"/>
    							  </ant>
    							</tasks>
    						</configuration>
    						<goals>
    							<goal>run</goal>
    						</goals>
    					</execution>
    			    </executions>
    			</plugin>
    et voici mon build.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?xml version="1.0"?>
    <project name="application-npdt">
     
        <target name="test">
     
    	  <!-- Copie des fichiers -->
     
    	  <copy todir="C:\INST\jboss-4.2.0.GA\server\default\deploy\" preservelastmodified="true">
    		<fileset dir="../application-npdt-business/target/" />
    		<include name="*.war" />
    		</fileset>
    	  </copy>
     
     
        </target>
     
    </project>
    J'ai une erreur à la compilation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    The following mojo encountered an error while executing:
    Group-Id: org.apache.maven.plugins
    Artifact-Id: maven-antrun-plugin
    Version: 1.1
    Mojo: run
    brought in via: POM
     
    While building project:
    Group-Id: com.macif.appli
    Artifact-Id: application-npdt
    Version: FWK_1.2.8
    From file: C:\NewWorkSpace\WKS_128\WKS_128\application-npdt\pom.xml
    Reason: Error executing ant tasks
    Pas très parlant comme message d'erreur... comment mettre maven en mode debug sous Eclipse ?

    Je ne connais pas encore Ant très bien alors j'ai peut être une erreur à ce niveau là ?

  15. #15
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Points : 66
    Points
    66
    Par défaut
    Visiblement j'ai testé avec des echo dans le script Ant, ça fonctionne, le script en lui-même fonctionne mais le fait qu'il soit dans le pom.xml Maven ne doit pas aimer...

    En faisant un ant -debug en ligne de commande j'ai un BUILD SUCCESSFUL.

    Mais en faisant depuis le pom.xml -> Maven install j'ai des erreurs. (Voir logs ci-joint). Peut-être qu'il faut positionner le script ant dans une section particulière du pom.xml ??

    En faisant uniquement cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?xml version="1.0"?>
    <project name="application-npdt">
     
        <target name="test">
     
    	  <echo message="Debut des traitements" />
     
    	  <property name="cible" value="C:\INST\jboss-4.2.0.GA\server\default\deploy\"/>
    	  <property name="source" value="../application-npdt-business/target"/>
     
    	  <!-- Copie des fichiers -->
     
    	  <echo>${cible}</echo>
    	  <echo>${source}</echo>
     
    	  <!-- <copy file="${source}/*.war" tofile="${cible}"/> -->
     
    	  <!-- <copy todir="${jboss}" preservelastmodified="true">
    		<fileset dir="${source}" />
    			<include name="*.war" />
    		</fileset>
    	  </copy> -->
     
     
        </target>
     
    </project>
    J'ai quand même des erreurs à la compilation, ci-joint les logs.
    Fichiers attachés Fichiers attachés

  16. #16
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par vincent_17 Voir le message
    J'ai copié le maven-ant-tasks-2.0.7.jar sous :

    C:\03 repository-maven-2103\ant\ant\1.6

    mais j'ai toujours la même erreur...
    Pour ajouter un jar à ton repository local, voici la commande à utiliser :
    mvn install:install-file
    -Dfile=<path-to-file>
    -DgroupId=<group-id>
    -DartifactId=<artifact-id>
    -Dversion=<version>
    -Dpackaging=<packaging>
    -DgeneratePom=true

    Where: <path-to-file> the path to the file to load
    <group-id> the group that the file should be registered under
    <artifact-id> the artifact name for the file
    <version> the version of the file
    <packaging> the packaging of the file e.g. jar
    The path of excess
    leads to the tower of wisdom.
    (Enigma)

  17. #17
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par vincent_17 Voir le message
    Visiblement j'ai testé avec des echo dans le script Ant, ça fonctionne, le script en lui-même fonctionne mais le fait qu'il soit dans le pom.xml Maven ne doit pas aimer...

    En faisant uniquement cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?xml version="1.0"?>
    <project name="application-npdt">
     
        <target name="test">
     
    	  <echo message="Debut des traitements" />
     
    	  <property name="cible" value="C:\INST\jboss-4.2.0.GA\server\default\deploy\"/>
    	  <property name="source" value="../application-npdt-business/target"/>
     
    	  <!-- Copie des fichiers -->
     
    	  <echo>${cible}</echo>
    	  <echo>${source}</echo>
     
    	  <!-- <copy file="${source}/*.war" tofile="${cible}"/> -->
     
    	  <!-- <copy todir="${jboss}" preservelastmodified="true">
    		<fileset dir="${source}" />
    			<include name="*.war" />
    		</fileset>
    	  </copy> -->
     
     
        </target>
     
    </project>
    J'ai quand même des erreurs à la compilation, ci-joint les logs.
    L'execution de ton script ant sans maven fonctionne c'est bien cela ?
    Est-ce que le build.xml est au meme niveau que le pom.xml ?
    The path of excess
    leads to the tower of wisdom.
    (Enigma)

  18. #18
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Points : 66
    Points
    66
    Par défaut
    Oui le build.xml fonctionne sans Maven.

    le build.xml et le pom.xml sont bien au même niveau.

  19. #19
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    Peux-tu montrer le pom parent ?
    The path of excess
    leads to the tower of wisdom.
    (Enigma)

  20. #20
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Points : 66
    Points
    66
    Par défaut
    Ok, en pièce jointe le pom.xml père et le fichier Ant.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Problème de déploiement avec Maven et Weblogic
    Par imed0083 dans le forum Maven
    Réponses: 0
    Dernier message: 30/03/2009, 17h42
  2. Problème lors du déploiement avec Maven
    Par _cece dans le forum SpagoBI
    Réponses: 2
    Dernier message: 25/09/2008, 19h49
  3. Utilisation de XSLTC avec Xalan sous JBoss
    Par Cheub dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 10/02/2008, 20h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo