9

Ich habe diese Struktur Projekt:Build-Helfer-Maven-Plugin Add-Test-Ressourcenfehler

/src 
    /main 
     /java 
     /resources 
    /test 
     /java 
     /resources 
    /it 
     /java 
     /resources 

test für Unit-Tests und it für Integrationstests. Ich verwende build-helper-maven-plugin, um dem Klassenpfad weitere Testquellen/Ressourcen zur späteren Verwendung hinzuzufügen maven-surfire-plugin für den Lauf unit tests und maven-failsafe-plugin für integration tests.

Plugin Config als belows:

<plugin>               
    <groupId>org.codehaus.mojo</groupId>       
    <artifactId>build-helper-maven-plugin</artifactId>  
    <version>1.9.1</version>  
    <executions>             
     <execution>             
     <id>add-integration-test-sources</id>     
     <phase>generate-test-sources</phase>      
     <goals>             
      <goal>add-test-source</goal>       
     </goals>             
     <configuration>           
      <sources>            
       <source>src/it/java</source>      
      </sources>           
     </configuration>           
     </execution>            
     <execution>             
     <id>add-integration-test-resources</id>     
     <phase>generate-test-resources</phase>     
     <goals>             
      <goal>add-test-resource</goal>      
     </goals>             
     <configuration>           
      <resources>           
       <directory>/src/it/resources</directory> 
      </resources>           
     </configuration>           
     </execution>            
    </executions>             
</plugin>  

Dies funktioniert gut für die test-sources (sie sind richtig/Ziel/Test-Klassen coppied), aber nicht Test-Ressourcen kopiert. Ich habe verschiedene Kombinationen von <configuration> ausprobiert: Verwenden Sie <resource> statt <directory>, verwenden Sie eine bestimmte Datei anstelle eines Verzeichnisses ... aber keiner funktioniert.

Stacktrace mit dem Fehler: <build> Konfiguration Maven

Caused by: org.apache.maven.plugin.PluginConfigurationException: Unable to parse configuration of mojo org.codehaus.mojo:build-helper-maven-plugin:1.9.1:add-test-resource for parameter directory: Cannot configure instance of org.apache.maven.model.Resource from src/it/resources 
     at org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(DefaultMavenPluginManager.java:597) 
     at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:529) 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:92) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 

VORLäUFIGEN, habe ich es das Hinzufügen der Integrationstests Ressourcen festgelegt:

<build> 
... 
    <testResources>        
     <testResource>        
      <directory>src/it/resources</directory> 
     </testResource>        
    </testResources>  
</build> 

Aber ich würde alles haben, bevorzugen zentralisierte Klassenpfadänderungen unter build-helper-maven-plugin. Kann jemand Beispiel mit einer korrekten Konfiguration bekannt geben?

Vielen Dank im Voraus.

Antwort

18

Nach dem Javadoc der maven-build-helper-plugin:add-test-resources. Das resources ist ein Array von org.apache.maven.model.Resource. So müssen Sie es auf diese Weise konfigurieren:

<configuration> 
    <resources> 
     <resource>          
       <directory>/src/it/resources</directory> 
     </resource> 
    </resources>  
</configuration> 

einen Blick auf how to configure plugin parameters nehmen.

+0

Doh! Du hast recht, es war ein dummer Fehler. Vielen Dank! – troig