para - maven for eclipse photon
La dependencia para proyectar foo con el tipo test-jar no es totalmente compatible. (2)
En mi proyecto de Maven estoy usando una dependencia de tipo test-jar que m2e no le gusta y da la siguiente advertencia.
"La dependencia para proyectar foo con el tipo test-jar no es totalmente compatible. Pueden surgir problemas de Classpath y / o implementación. Probar Maven-> Deshabilitar área de trabajo"
¿Por qué surge este problema y por qué la inhabilitación de la resolución del área de trabajo lo solucionaría?
El problema con el test-jar está en Eclipse. Ver Bug 365419 - Classpath para la prueba de integración
He intentado hacer que esta advertencia desaparezca con el truco a continuación, sin embargo, tiene el efecto secundario de que es imposible ejecutar pruebas desde eclipse debido a la clase de ruta para las pruebas en eclipse cuando el código de ejecución no se configura correctamente. Estoy publicando aquí con la esperanza de que alguien pueda mejorar este truco y hacer que funcione.
La creación de un perfil en el archivo pom se desactiva cuando está en eclipse pero se activa automáticamente cuando se ejecuta maven fuera de eclipse.
<profiles>
<profile>
<id>test-jars</id>
<activation>
<property>
<name>!m2e.version</name>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>foo</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>bar</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
</dependencies>
</profile>
</profiles>
Dentro del eclipse, se define la propiedad m2e.version, por lo que m2e ignora las dependencias de prueba-jar y no se genera ninguna advertencia. Sin embargo, cuando se ejecuta maven en la línea de comandos, el perfil se activa porque no hay una propiedad m2e.version y, por lo tanto, la advertencia desaparece.