tutorial mvc mediante libro framework español desarrollo book aplicaciones java maven

java - mediante - spring mvc 4 tutorial español



Compilando solo archivos seleccionados en Maven (3)

Aplicación sencilla con 3 clases.

com/company/Obj1.java com/company/Obj2.java com/company/inner/Obj3.java

build en pom.xml

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.6</source> <target>1.6</target> <includes> <include>com/company/inner/*.java</include> </includes> </configuration> </plugin> </plugins> </build>

Resultado: se compila 1 clase.
Y cualquier combinación de incluye está funcionando bien.
o te refieres a otra cosa?

Quiero compilar solo los archivos o directorios seleccionados (incluidos los subdirectorios) dentro del directorio de origen. Estaba bastante seguro de que puedo hacer esto usando <includes> de la configuración de maven-compiler-plugin , pero parece que no funciona como esperaba, ya que aún compila todas las clases en target/classes . Lo que es realmente extraño, la salida de Maven sugiere que la configuración realmente hace su trabajo, porque con:

<plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <includes> <include>com/example/dao/bean/*.java</include> </includes> </configuration> </plugin>

Yo tengo:

[INFO] Compiling 1 source file to c:/Projects/test/target/classes

pero sin la configuración del compilador tengo:

[INFO] Compiling 14 source file to c:/Projects/test/target/classes

En ambos casos, sin embargo, las 14 clases se compilan en target/classes como mencioné. ¿Puede explicar eso o sugerir otra solución para compilar solo los archivos seleccionados?


No tuve dificultades para incluir o excluir archivos para compilar con el compilador 2.5.1 compilador de 2.5.1 . Here está el proyecto ficticio que usé para este propósito. Quizás el patrón de include que usas es diferente.


maven-compiler-plugin usando notación de inclusión / exclusión similar a Ant. Puedes ver ejemplos en la documentación de Ant. Ant FileSet Type

Si desea incluir solo archivos de un directorio, necesita escribirlo como lo hizo:

<include>com/example/dao/bean/*.java</include>

Para incluir también subdirectorios de ruta, será:

<include>com/example/dao/bean/**/*.java</include>