Configurer le proxy
- Lorsque vous êtes derrière un proxy (comme au M3) vous devez éditer (à défaut créer) le fichier suivant : ~/.m2/settings.xml
- Mettez dedans le code suivant ...
<settings>
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>cache-etu.univ-lille1.fr</host>
<port>3128</port>
<nonProxyHosts>*.univ-lille1.fr</nonProxyHosts>
</proxy>
</proxies>
</settings>
Creer un projet vierge
- Créez un projet Maven (java) manuellement ou en utilisant mvn archetype:generate (lisez bien les informations demandées).
- La structure maven doit contenir au minimum les éléments suivants
- pom.xml
+ src
+ main
+ java
-
+ test
+ java
-
Contenu (minimal) du fichier pom.xml
- permet de compiler les sources
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.ulille1.fil.odeva</groupId>
<artifactId>monPremierMavenEnODEVA</artifactId> <!-- a personaliser -->
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Mon Premier Maven En ODEVA</name> <!-- a personaliser -->
<url>http://maven.apache.org</url>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
</dependencies>
</project>
Personnaliser pom.xml pour supporter les tests
- On utilise le plugin surefire pour lancer automatiquement les tests JUnit.
- L'inclusion de la dépendance ci-dessus indique à Maven que nous souhaitons utiliser junit v3.8 dans notre projet, ce qui inclut également le plugin surfire de mvn
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.1</version>
<scope>test</scope>
</dependency>
</dependencies>
-
Reprenez les sources et les tests écrites pendant la séance JUNIT et placez-les au bon endroit dans l'architecture du nouveau projet.
-
Pour exécuter les tests tapez dans le terminal, à la racine du projet maven : mvn test . Ceci lance le mvn avec le "goal" test
-
Les résultats des tests sont mis dans target/surefire-reports
Intégration avec Sonar
-
Installer SonarQube
- Récupérer SonarQube ici (lille1) ou ailleurs (codehaus)
- Dezipper de préference dans /tmp/sonar (unzip PATH_TO_SONAR_ZIP -d /tmp)
- Lancer SonarQube : /tmp/sonar-3.7.4/bin/linux-x86-32/sonar.sh start
- se Connecter sur http://localhost:9000
- s'Authentifier (sonar / sonar) pour pouvoir personnaliser les outils d'analyse.
-
Paramétrer le plugin Sonar pour Maven
- Modifiez le fichier ~/.m2/settings.xml en introduisant un profil Sonar
<settings>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>
<!-- here using local h2 dataset ... -->
jdbc:h2:tcp://localhost:9092/sonar
</sonar.jdbc.url>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<!-- Optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://localhost:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
...
</settings>
- Etablir le lien entre votre projet et SonarQube
- Editez le fichier sonar-project.properties (à la racine du projet maven. au même endroit que pom.xml)
--------------------------------------------
- Contenu sonar-project.properties -
--------------------------------------------
#remplacez X par votre numéro d'utilisateur
sonar.projectKey=fil:m1miage
sonar.projectName=NOMPROJET
sonar.projectVersion=1.0
sonar.projectDescription=DESCRIPTION PROJET
# chemin vers les répertoires contenant les sources et les tests
sonar.sources=src/main
sonar.tests=src/test
# indication du langage utilisé dans le projet
sonar.language=java
# encodage des sources
sonar.sourceEncoding=UTF-8
-
Lancer mvn sonar:sonar et consulter les statistiques qualité sur http://localhost:9000
-
Modifier le projet pour augmenter les indices de qualité
-
Relancer mvn sonar:sonar et consulter à nouveau les statistiques