Para crear un proyecto java sencillo con maven2 podemos hacer uso del arquetipo quickstart, pero tiene el problema de que no se ajusta exactamente a mi configuración: pues me gusta ya configurar desde el principio las pruebas con junit 4 y usar log4j en lugar de imprimir por pantalla.
Creado el proyecto editamos el fichero pom.xml para añadir las dependencias a junit 4, y no 3 como hace por defecto, y log4j. Tambien aprovecharemos para añadir el plugin de compilación y establecer la compatibilidad con java 1.6.
Para el plugin se inserta el siguiente fragmento.
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
Mientras que para las dependencias será:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.8</version>
</dependency>
</dependencies>
Luego se crea el directorio src/main/resources que contendra el fichero de propiedades para log4j.properties.
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=App.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
# set root log level
log4j.rootLogger=debug, stdout
La mayor parte de la configuración se puede hacer gráficamente, click derecho y seleccionando add dependency o add plugin sobre el proyecto de trabajo.
Un Trackback
[...] Los plugins son los elementos que realmente hacen el trabajo en maven, típicamente las fases. El más importante: el compilador , que es el mas usado, y que yo configuro para que trabaje con una determinada versión de java. Ver fragmento de pom.xml aquí. [...]