6

通常、POM ファイルは正常に動作し、すべての単体テストに合格し、すべての成果物が適切にパッケージ化されています。ただし、プロファイルに応じて特定の構成を作成するためにこの maven-resources-plugin を追加すると、「src/test/resources」の何も「test-classes」にコピーされないため、すべてのテストが失敗します。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.7</version>
            <configuration>
                <overwrite>true</overwrite>
                <outputDirectory>${project.build.directory}/${config.dir}/${project.activeProfiles[1].id}</outputDirectory>
                <resources>
                    <filtering>true</filtering>
                    <resource>
                        <directory>src/main/resources</directory>
                    </resource>
                </resources>
            </configuration>
        </plugin>   

これがテスト リソースのコピーをブロックする理由がわかりません。何か案は?

4

3 に答える 3

2

多くの試行錯誤の末、私は解決策にたどり着きました。すべてを期待どおりに解決するには、maven-resources-plugin を process-resources フェーズにアタッチする必要がありました。さて、これは最良の答えではないかもしれませんが、私にとってはうまくいきました。より良い解決策があれば教えてください。

<executions>
  <execution>
     <id>create specific server configuration</id> 
     <phase>process-resources</phase> 
     <goals>
       <goal>resources</goal> 
     </goals>
    <configuration>
    /** as above **/
    </configuration>
  </execution>
</executions>
于 2015-01-22T19:53:37.683 に答える
1

いくつかの構成を追加する必要があると思います:

<testResources>
    <testResource><directory>src/test/resources</directory></testResource>
</testResources>
于 2015-01-21T15:54:01.557 に答える