2011-10-13 9 views
10

Tengo dos problemas muy molestos con la integración de Maven en Eclipse, de vez en cuando se excluye a todos mis recursos en src/main/resources y/test/recursos src de la trayectoria de la estructura.Maven/M2Eclipse excluye mis recursos todo el tiempo

Si Inspecciono "Propiedades >> Vía de construcción Java >> Fuente" Puedo ver que estas dos carpetas han "Excluidos: **".

El problema puede ser resuelto fácilmente haciendo clic en "Eliminar" en las exclusiones, pero es realmente muy frustrante.

La configuración del proyecto es muy simple, tiene algunos módulos y submódulos, pero nada del otro mundo. No tengo opciones de configuración en mi pom.xml respecto a recursos, eclipse o lo que sea (¿quizás debería?).

El otro problema es que Eclipse sigue informando advertencias en los directorios de "destino" (en la vista "Problemas"), donde no debería importarle nada en primer lugar.

Cualquier ayuda es apreciada.

Gracias es adelantado, Marcos

Sal: SpringSource Tool Suite 2.7.0.RELEASE, Integración Maven para Eclipse 0.12.1.20110112, Maven 2.2.1

+0

¿Lo has resuelto? –

Respuesta

6

Este es el comportamiento correcto. La versión actual de M2E proporciona su propio contribuyente al proceso de compilación automático dentro del Eclipse IDE. Este proceso de compilación tiene en cuenta el ciclo de vida de maven para generar recursos y recursos de proceso, etc. ... es decir, algunos proyectos tienen complementos que generan recursos desde la configuración y los colocan en la carpeta de salida compilada.

El mecanismo que busca en el Build Path sólo se refiere a los entornos de desarrollo Eclipse integradas en el mecanismo para compilar/montaje de un conjunto de carpetas de origen de entrada en las carpetas de salida. Si Maven y Eclipse lo hicieran, habría conflictos/problemas.

Hay un enlace en el M2E Preguntas sobre este punto exacto http://wiki.eclipse.org/M2E_FAQ#Why_resource_folders_in_Java_project_have_excluded.3D.22.2A.22

Si está realmente teniendo problemas con los recursos no están copiando tal vez podemos trabajar a través de por qué es así (ya que ese es otro tema), pero su La pregunta principal es sobre un punto común de preguntas frecuentes sobre M2E.

Tal vez usted desea actualizar a org.eclipse.m2e e Indigo como un montón de problemas Maven Maven/complejo de uso He se resuelven en su mayoría o tener una solución explicado.

.

Yo recomendaría realizar un "Ejecutar como -> Maven -> limpiar" y luego un "Proyecto -> Limpiar", luego habilitar el bulding automático (esto es para permitir la construcción automática basada en Eclipse, no utilizar Ejecutar As -> Maven para construir para probar este punto). Ahora abra un administrador de archivos fuera de eclipse e inspeccione manualmente las carpetas de salida para ver los recursos que no pensó que estaban siendo copiados. Deberías encontrar que están allí de todos modos.

.

Estuve de acuerdo con la advertencia (probablemente Validación) sobre los elementos en el directorio target/** y mientras Eclipse tiene una forma de excluir manualmente el directorio target/** de la validación, esta opción no se queda más allá de un proyecto limpio (cuando el directorio de destino es eliminado).

Por lo tanto, es un poco molesto estar siempre esperando la validación de los elementos en un proyecto grande.

Tal vez intento ver si se puede crear un complemento de conector Maven Eclipse para hacerlo, es decir, vincularlo al ciclo de vida de compilación y aplicar automáticamente la Validación de Excluir en la carpeta de destino.

+0

Muchas gracias por su respuesta detallada. – nihilist84

+2

Todavía tengo exclusión **, y no recibí ninguna respuesta sobre cómo solucionarlo ... – blackuprise

+0

exclusión **, es correcto y como debería ser, obviamente no entendiste la explicación de por qué es correcto, investiga y leer de nuevo. –

0

T_T no es una buena solución. recursos no se copia sin maven-actualización


recursos de Maven: Fase de recursos marcado ignorado en Asignaciones del ciclo de vida hará que este problema.

Como mencionó anteriormente, eclipse no copia el recurso ya que supone que maven lo hará por usted. Entonces, si recursos: fase de recursos que hacen el trabajo en maven no se ejecuta, se obtiene una excepción de archivo no encontrado en el tiempo de ejecución.

para comprobar esta abierta

Proyecto-> propiedades-> maven-> mapeo ciclo de vida

y ver si los recursos: los recursos se marca ignorados o no.

a resolverlo Windows-> preferencia-> maven-> ciclo de vida mapping-> Espacio de trabajo abierta asignaciones del ciclo de vida de metadatos

luego cambiar

<action> 
    <ignore /> 
    </action> 

a

<action> 
    <execute /> 
    </action> 

de gol resources

recarga de metadatos & actualización maven proyecto

debería resolver el problema.

+0

FWIW sí ¿se asegura de instalar el conector m2e para build-helper-maven-plugin? ¿Todavía necesita la respuesta anterior? Según tengo entendido, esto hace que muchos objetivos/complementos que afectan a classpath/building funcionen como se esperaba. –

Cuestiones relacionadas