proyecto plugin generar example desde consola con compilar comandos maven-2

maven 2 - plugin - Maven-Agregar directorio a classpath mientras se ejecutan las pruebas



maven-jar-plugin (6)

¿Por qué no usar test/resources y colocar sus propiedades en el classpath desde ese punto? Solo estarán allí para la fase de prueba.

Los Junits que tengo en mi proyecto necesitan cargar archivos de propiedades desde el classpath. ¿Cómo puedo especificar el directorio de esos archivos de propiedades para que Maven los establezca en el classpath antes de ejecutar las pruebas?


Puede usar build-helper-maven-plugin para especificar directorios adicionales de recursos de prueba de la siguiente manera. Con la configuración a continuación, los contenidos del directorio de recursos de prueba se copiarán en el directorio de destino / clases de prueba durante la fase de generación-prueba-fuentes :

<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.12</version> <executions> <execution> <id>add-test-resource</id> <phase>generate-test-sources</phase> <goals> <goal>add-test-resource</goal> </goals> <configuration> <resources> <resource> <directory>path/to/additional/test/resources</directory> <excludes> <exclude>**/folder-to-exclude/**</exclude> </excludes> </resource> </resources> </configuration> </execution> </executions> </plugin>


Si solo desea colocar los archivos de su propiedad en algún lugar del disco y no desea copiar esos archivos de propiedades en las clases de destino / prueba durante la construcción, puede hacerlo de esta manera

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <additionalClasspathElements> <additionalClasspathElement>/add/this/to/path</additionalClasspathElement> </additionalClasspathElements> </configuration> </plugin>


Si tiene un entorno de recursos múltiples, puede usar el perfil de administrador y poner sus diversos recursos de acuerdo con el perfil que está probando.

test/resources/uat test/resources/prod test/resources/dev

Pero, por lo general, si necesita que esté realizando una prueba de integración, entonces no necesita el plugin build-helper-maven-plugin.


También puede agregar nuevas carpetas de recursos de prueba.

<build> <testResources> <testResource> <directory>${project.basedir}/src/test/resources</directory> </testResource> <testResource> <directory>${project.basedir}/src/test/something_else</directory> </testResource> </testResources> </build>

La primera ruta, src/test/resources , es la predeterminada. Suponiendo que aún desea que se use la ruta predeterminada, asegúrese de que esté incluida. (La etiqueta testResources sobrescribe los valores predeterminados, por lo que si no incluye explícitamente la ruta predeterminada, dejará de usarse.)


maven-resources-plugin tiene un objetivo de copy-resources que le permitirá copiar recursos. Por ejemplo:

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> <executions> <execution> <id>additional-resources</id> <phase>process-test-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.testOutputDirectory}</outputDirectory> <resources> <resource> <directory>${project.basedir}/conf</directory> </resource> </resources> </configuration> </execution> </executions> </plugin>

Esto copiará el contenido de la carpeta conf en la base de su proyecto a la carpeta target/test-classes (a menos que haya modificado project.build.testOutputDirectory) que se agregará a classpath durante las pruebas unitarias.