Dans le cadre de mon projet SaD (Synchronize All Directory) dont je vous parlerais bientôt dans ma rubrique projet, j’ai besoin de manipuler des dépôts SVN depuis un client JAVA.
Et il se trouve que j’ai trouvé une super librairie gratuite simple et efficace comme je les aime pour ça, alors je vous la fait partager !!
Pour l’installer :
- Cliquez ici : http://www.svnkit.com/download.php et téléchargez la dernière version stable Standalone (au moment ou je vous ecris : org.tmatesoft.svn_1.3.6.1.standalone.zip )
- de zippez le bousin et récupérez tous les .jar qui se trouvent dans le dossier “lib”
- Créez votre projet JAVA sur eclipse
- faites glisser les .jar de votre dossier décompressé vers votre projet java (copy files –> ok)
- clic droit sur votre projet Java –> Build path –> Configure build path
- Add Jar –> déployez le dossier de votre projet, sélectionnez tous les jar –> ok
Le projet est installé !! Vous n’avez plus qu’à parcourir la marche à suivre sur le wiki et la doc de SVNKit.
… Allez comme je suis un grand prince je vous donne en bonus deux classes de ma création qui simplifient encore plus le processus :
Téléchargez :
Svn.java et
SvnEntry.java et incluez les dans votre projet Java
Vous pouvez maintenant créer une page main avec le code suivant :
public static void main(String[] args) { Svn svn = new Svn(); //On definis l'url du dépot subversion svn.setUrl("http://xxx.xxx.xx.xx/svn/MonDepot"); //On définis l'identifiant pour accèder au dépot (si l'accès est anonyme, ne rien définir) svn.setLogin("monLogin"); //On définis le mot de passe pour accèder au dépot (si l'accès est anonyme, ne rien définir) svn.setPassword("monPassword"); //on se connect au svn if(svn.connect()){ //On récupere la liste des dossier et fichiers du dépot a partir de la racine (donc le chemin "") try { List<SvnEntry> tree= svn.list(""); //Pour chaques élément récupéré for (int i = 0; i < tree.size(); i++) { SvnEntry entry = tree.get(i); //On imprime les infos de l'élément dans la console System.out.println(entry.toString()); } } catch (SVNException e) { System.out.println("listing de '' impossible : "+e); } }else{ System.out.println("connexion impossible"); } }
salut,
Mon projet est une application web JEE qui consiste a un espace de travail collaborative et j’aimerais bien utiliser svnkit je vais l’integrer dans mon projet pouvez vous m’aider ?