Le projet génère plusieurs fichiers que j'aimerai rendre disponible sur notre Nexus (des WSDL).
Pour ajouter les fichiers supplémentaires, j'ai utilisé le plugin build-helper-maven-plugin
<plugin>
<groupid>org.codehaus.mojo</groupid>
<artifactid>build-helper-maven-plugin</artifactid>
<version>1.7</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.directory}/generated/wsdl/Service1.wsdl</file>
<type>wsdl</type>
<classifier>Service1</classifier>
</artifact>
<artifact>
<file>${project.build.directory}/generated/wsdl/Service2.wsdl</file>
<type>wsdl</type>
<classifier>Service2</classifier>
</artifact>
<artifact>
<file>${project.build.directory}/generated/wsdl/Service3.wsdl</file>
<type>wsdl</type>
<classifier>Service3</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
Ensuite, le module qui aurait besoin de ces fichiers n'aura plus qu'à ajouter les dépendances dans son POM.
mercredi 29 février 2012
mercredi 22 février 2012
Java, SLF4J, Logback & Maven
Petite recette pour une utilisation de SLF4J avec Logback dans un context Maven
Créez un projet maven avec l'arborescence classique. Le package de base que j'utilise dans le projet exemple est "fr.gunduz.logback".
Ajoutez dans le POM les dépendances suivantes :
<dependency>
<groupid>org.slf4j</groupid>
<artifactid>slf4j-api</artifactid>
<version>1.6.4</version>
</dependency>
<dependency>
<groupid>ch.qos.logback</groupid>
<artifactid>logback-classic</artifactid>
<scope>runtime</scope>
<version>1.0.0</version>
</dependency>
Dans le répertoire 'resources', ajouter le fichier logback.xml avec le contenu suivant :
<configuration>
<appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</layout>
</appender>
<logger level="DEBUG" name="fr.gunduz" />
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
On peut faire une classe pour tester logback :
On peut lancer l'execution :
Et vous aurez le 'Hello world'!
Les sources sont disponible sur Google Code
Créez un projet maven avec l'arborescence classique. Le package de base que j'utilise dans le projet exemple est "fr.gunduz.logback".
Ajoutez dans le POM les dépendances suivantes :
<dependency>
<groupid>org.slf4j</groupid>
<artifactid>slf4j-api</artifactid>
<version>1.6.4</version>
</dependency>
<dependency>
<groupid>ch.qos.logback</groupid>
<artifactid>logback-classic</artifactid>
<scope>runtime</scope>
<version>1.0.0</version>
</dependency>
Dans le répertoire 'resources', ajouter le fichier logback.xml avec le contenu suivant :
<configuration>
<appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</layout>
</appender>
<logger level="DEBUG" name="fr.gunduz" />
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
On peut faire une classe pour tester logback :
package fr.gunduz.logback;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class App
{
private static final Logger logger = LoggerFactory.getLogger(App.class);
public static void main( String[] args )
{
String test = "with SLF4J and Logback";
logger.debug("Hello wolrd, {}", test);
}
}
On peut lancer l'execution :
mvn clean compile exec:java -Dexec.mainClass=fr.gunduz.logback.App
Et vous aurez le 'Hello world'!
Les sources sont disponible sur Google Code
lundi 13 février 2012
Maven, versions plugin
Assigner un nouveau numéro de version a un projet Maven et ses sous projets :
mvn versions:set -DnewVersion=<nouveau numéro de version>
Par exemple:
mvn versions:set -DnewVersion=1.12.1-SNAPSHOT
Il est possible de revenir en arrière si vous rencontrez un problème :
Si tout est bon, on peut faire :
mvn versions:set -DnewVersion=<nouveau numéro de version>
Par exemple:
mvn versions:set -DnewVersion=1.12.1-SNAPSHOT
Il est possible de revenir en arrière si vous rencontrez un problème :
mvn versions:revert
Si tout est bon, on peut faire :
mvn versions:commit
PS : les sous modules concernés sont uniquement ceux indiqués dans le POM parent. Si vous avez un répertoire de module dans votre projet mais qu'il n'apparait pas dans le POM parent pour diverses raisons, il ne sera pas touché par ces commandes.
Inscription à :
Commentaires (Atom)