Uso maven y eclipse (con m2eclipse) para proyectos Java. Usualmente empiezo conArchivos en src/main/resources no copiados al usar maven y eclipse
$ mvn archetype:create \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DgroupId=com.whatever.app \
-DartifactId=wonderapp
$ mvn eclipse:eclipse
y luego importo el proyecto a eclipse. La ruta de compilación en eclipse ahora contiene un patrón "Excluido: **" para la ruta src/main/resource
. Si pongo, por ejemplo, el archivo log4j.properties en src/main/resources
, no se copiará en la ruta de salida y, por lo tanto, log4j no funcionará correctamente.
http://img.skitch.com/20101002-8cqmxtagxeewxyj8wjej97g5q1.jpg
Después me encontré mvn eclipse:eclipse
, el archivo .classpath en el directorio raíz contiene esta línea:
<classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
Después de importar en eclipse, se ha cambiado a:
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
Termino teniendo que eliminar manualmente el patrón "**". ¿Hay alguna manera para que yo no tenga que hacer esto?
Buen punto. Nunca pensé en ello. Supongo que lo hice de esta manera por costumbre, porque comencé con solo maven y eclipse y solo más tarde aprendí sobre m2eclipse. De todos modos, no parece importar qué importación utilizo. El resultado con "Importar proyecto Maven existente" es el mismo. – ubiyubix
+1. Aprendí que no tengo que usar 'mvn eclipse: eclipse' – ubiyubix
@bromfiets Si importa su proyecto como proyecto de Maven, el constructor de Maven * está * gestionando los recursos (lo que hace posible el filtrado) y realmente se copian a' destino/clases'. En otras palabras, las cosas simplemente funcionan. –