Me gusta maven. Incluso me gusta mucho. Desde que me cambié de Ant, he ahorrado muchas horas de trabajo, construyendo archivos de compilación, administrando dependencias, etc., y ahorré mucho espacio en mi repositorio de control de código fuente.Mitigación de la verbosidad de los archivos Maven pom.xml (o: una crítica de Maven por parte de un fan)
El problema es que los archivos maven son demasiado detallados. No es que los archivos Ant fueran menos detallados, pero su nivel de detalle era apropiado para lo que hacen.
Por ejemplo, en lugar de escribir :
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
<dependency>
<groupId>com.myosproject</groupId>
<artifactId>superlibrary</artifactId>
<version>7.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
me gustaría escribir algo como
<dependencies>
commons-logging/commons-logging/1.1.1
com.myosproject/superlibrary/7.5
test:junit/junit/3.8.1
</dependencies>
O en lugar de
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
me gustaría
<build version="1.5"/>
Y (último ejemplo y que se hacen), en lugar de escribir:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>native2ascii-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>native2ascii</goal>
</goals>
<configuration>
<encoding>UTF8</encoding>
</configuration>
</execution>
</executions>
</plugin>
me gustaría no tener que escribir nada . Es decir, maven detectará la presencia de la carpeta native2ascii y hará lo correcto de forma predeterminada.
Sé que estoy mezclando funcionalidad incorporada con complementos y otras cosas, pero intente mirar desde el punto de vista de un usuario experto, que está muy contento con la herramienta, pero piensa que podría estar más feliz.
Así:
¿Hay alguna manera de configurar experto para trabajar de esta manera? (Y sería prudente hacerlo)
¿Hay alguna otra herramienta que no conozca que haga esto?
+ 1 para el buen espíritu de su pregunta :) –