16 votes

Comment extraire du SVN avec une tâche ANT ?

Je suis intéressé par de quelque manière que ce soit que je peux créer une tâche Ant pour extraire les fichiers de SubVersion. Je veux "juste" faire le checkout à partir de la ligne de commande. J'utilise Eclipse avec Ant et SubVersion depuis un certain temps maintenant, mais mes connaissances de Ant et SubVersion sont quelque peu insuffisantes car je me suis appuyé sur Eclipse pour tout connecter.

Je me suis penché sur SvnAnt, qui fait partie de Subclipse de Tigris, à l'adresse suivante http://subclipse.tigris.org/svnant/svn.html . Cela peut fonctionner correctement, mais je n'obtiens que des NoClassDefFoundErrors. Pour les plus expérimentés, cela ressemble probablement à un simple problème de configuration d'Ant, mais je n'en sais rien. J'ai copié svnant.jar et svnclientadapter.jar dans le répertoire lib de Ant. Puis j'ai essayé d'exécuter ce qui suit :

<?xml version="1.0"?>

<project name="blah"> 

 <property environment="env"/>

 <path id="svnant.classpath">
  <pathelement location="${env.ANT_HOME}/lib"/>
  <fileset dir="${env.ANT_HOME}/lib/">
   <include name="svnant.jar"/>
  </fileset>
 </path>

 <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" /> 

 <target name="checkout">
  <svn username="abc" password="123">
   <checkout url="svn://blah/blah/trunk" destPath="workingcopy"/>
  </svn>
 </target>

</project>

Ce à quoi je reçois la réponse suivante :

build.xml:17: java.lang.NoClassDefFoundError: org/tigris/subversion/javahl/SVNClientInterface

J'utilise SVN 1.7 et SvnAnt 1.3 sur Windows XP 32 bits.

Merci pour tout conseil !

0voto

nasty pasty Points 692

J'avais presque la même installation, avec le même problème.

J'ai résolu le problème en supprimant 2 svn*.jar que j'avais mis dans mon installation ant (sur debian) sous

/usr/share/ant/lib

plus tôt. Fourmi a été confondue par plusieurs pots.

0voto

PeterS Points 1347

J'ai trouvé cette page très utile pour commencer. Pour la dernière version, j'ai trouvé que la manière approuvée de définir les paramètres svn est la suivante :

<svnSetting svnkit="true" javahl="false" id="svn.settings" />

Cela signifie que la commande SVN elle-même doit être :

<svn refid="svn.settings">//Other commands</svn>

Je voulais en fait le mode svnkit. Les bibliothèques mentionnées ci-dessus étaient correctes, mais j'avais également besoin d'ajouter les éléments suivants :

org.tmatesoft.sqljet_1.1.7.r1256_v20130327_2103.jar org.tmatesoft.svnkit_1.7.9.r9659_v20130411_2103.jar

org.tigris.subversion.clientadapter.svnkit_1.7.9.2.jar

Ils sont tous disponibles dans le téléchargement de subclipse mentionné. Le tmatesoft est également nécessaire :

antlr-3.5.2-complete.jar

Disponible ici : Antlr

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X