<< Exemple développé de l'utilisation d'Eclipse | EclipseIndex | >>


La méthode que nous allons présenter s'appuie sur Maven, eclipse et intégre la bibliothèque Graphstream de gestion de graphe dynamique. L'objectif est d'avoir un environnement correctement configuré permettant de travailler sur des graphes qui évoluent dans le temps.

1.  Installation

L'installation dont il est question ici se fait sous Linux, néanmoins de nombreux éléments sont adaptables sous windows.

Tout d'abord si ce n'est pas le cas, il est préférable de récupérer la dernière version d'Eclipse. Malheureusement elle est rarement disponible directement dans les dépôts. Il faut donc le faire génèralement manuellement à partir du site. Vous téléchargez un fichier du type eclipse-java-kepler-sr1-offline-installer-linux.run. La première chose à faire est de le rendre exécutable et puis de lancer son exécution :

 % chmod u+x eclipse-java-kepler-sr1-offline-installer-linux.run
 % ./eclipse-java-kepler-sr1-offline-installer-linux.run

Vous allez ensuite sur le marketplace et vous récupérez le plugin m2e. Il est accessible à partir de help → Install from catalog.

Une fois votre plugin installé, il reste à le configurer. Pour accéder à la configuration, c'est simple Window → Preference → MavenEn plus des options sélectionnées par défaut, je vous conseille d'ajouter Download Artifact Javadoc cela vous permettra d’avoir la documentation à votre disposition.

Ensuite toujours sous la configuration de Maven, vous pouvez ouvrir User Interface et sélectionner Open XML page in the POM editor ... vous utiliserez un éditeur XML lorsque vous ouvrirez une un fichier pom.

Avant de créer un projet maven quelques éléments de compréhension concernant Maven.

2.  Maven

Ce paragraphe n'est qu'une courte introduction, pour aller plus loin, je vous recommande de consulter les éléments cités ici. Tout d'abord Maven est un moteur de production pour java. Cela vous permet de :

  1. Générer, compiler et documenter vos projets ;
  2. Gérer les sources et les dépendances, c'est ce point qui nous intéresse particulièrement ici ;
  3. Mettre à jour vos projets et les déployer.

2.1  Pom, pom, pom

On décrit un projet à l'aide d'un POM (Project Object Model). Cette description est stockée dans un fichier pom.xml qui se situe alors dans le répertoire de base du projet. Les balises essentielles sont commentées ci-dessous.

 <!-- Balise racine -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <!-- Indique la version de POM utilisée. Obligatoire. Garantit la stabilité d'utilisation. -->
  <modelVersion>4.0.0</modelVersion> 

  <!-- Identification du groupe qui a créé le projet. Cette clé permet d'organiser et de retrouver plus facilement et rapidement le projet. -->
  <groupId>org.graphstream</groupId>
  <!--  Nom unique utilisé pour nommer les artifacts à construire. -->
  <artifactId>demo-gs-projet</artifactId>
  <!-- Version de l'artifact généré par le projet -->
  <version>0.0.1-SNAPSHOT</version>
  <!-- Type de packaging du projet jar, war, ejb .... --> 
  <packaging>jar</packaging>
  <!-- Nom du projet -->
  <name>demo-gs-projet</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <!-- Dépendances du projet -->
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <dependencyManagement>
  	<dependencies>
  		<dependency>
  			<groupId>junit</groupId>
  			<artifactId>junit</artifactId>
  			<version>3.8.1</version>
  		</dependency>
  	</dependencies>
  </dependencyManagement>
 </project>

2.2  Artifact

Un projet est décrit par un artifact dans Maven. Comme vous avez pu le constater au-dessus, un artifact est identifié par 4 informations :

  1. groupId : Définit l'organisation ou groupe qui est à l'origine du projet. Il est formulé sous la forme d'un package Java. Par exemple, org.graphstream est partagé par tous les artifacts GraphStream.
  2. artifactId : Définit le nom unique dans le groupe pour le projet.
  3. version : Définit la version du projet. Les numéros de version sont souvent utilisés pour des comparaisons et des mises à jour.
  4. type : Type de projet éventuellement.

On définit ensuite les dépendances (autres projets utilisés par le votre), sous également cette forme.

3.  Un projet Maven utilisant Graphstream sous Eclipse

On crée un projet Maven.

next et vous sélectionnez create a simple project que vous renseignez comme sur la copie d'écran ci-dessous.

Sous une vue de type ressource vous obtenez :

À partir de votre arborescence vous ouvrez le fichier pom.xml et vous choisissez ensuite l'onglet dependencies puis add

dans le champ Enter groupId, artefactId, .... vous tapez graphsteam et ensuite dans la fenêtre de recherche org.graphstream → gs-core 1.2 →[jar]

Votre fichier pom.xml est maintenant :

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.graphstream.demo</groupId>
  <artifactId>demo-projet-graphstream</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>demo-projet-graphstream</name>
  <description>Démonstration de l'utilisation de Maven et Eclipse pour Graphstream</description>
  <dependencies>
  	<dependency>
  		<groupId>org.graphstream</groupId>
  		<artifactId>gs-core</artifactId>
  		<version>1.2</version>
  	</dependency>
  </dependencies>
 </project>

Ensuite au niveau du Package Explorer clic droit Maven → Update Project... ou plus rapidement Alt F5.

3.1  Un premier programme

Il ne reste plus qu'à écrire un programme utilisant Graphstream et l'exécuter.

 import org.graphstream.graph.Graph;
 import org.graphstream.graph.implementations.SingleGraph;


 public class Tutorial1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	     Graph graph = new SingleGraph("Tutorial 1");

         graph.addNode("A");
         graph.addNode("B");
         graph.addNode("C");
         graph.addEdge("AB", "A", "B");
         graph.addEdge("BC", "B", "C");
         graph.addEdge("CA", "C", "A");

         graph.display();
	}

 } 

4.  Documentations, sources


<< Exemple développé de l'utilisation d'Eclipse | EclipseIndex | >>