2012-02-07 10 views
0

junitテストケースを実行する直前に、別のプロジェクトからいくつかのリソースファイルをmavenにコピーさせるにはどうすればよいですか?テスト時のMavenとコピー

jsonファイルはテスト目的でuiチームによって管理されているため、私はこのファイルを使用してレイヤーに対して実行したいので、変更したときに期待される出力が途切れないことがわかっています。私たちのコード。

答えて

2

1つのオプションは、maven依存関係プラグインを使用して、これらのファイルを含むプロジェクトからファイルを選択的に「解凍」することです。例えば
は、リソースファイルはcom.foo.bar:myArtifact:jarであるプロジェクトと言うので、あなたは

 

     <build> 
     <plugins> 
      <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <version>2.4</version> 
      <executions> 
       <execution> 
       <id>unpack</id> 
       <!-- You could a phase of your choice based on needs --> 
       <phase>compile</phase> 
       <goals> 
        <goal>unpack</goal> 
       </goals> 
       <configuration> 
        <artifactItems> 
        <artifactItem> 
         <groupId>com.foo.bar</groupId> 
         <artifactId>myArtifact</artifactId> 
         <overWrite>true</overWrite> 
         <outputDirectory>${project.build.directory}</outputDirectory> 
         <includes>*.json</includes> 
        </artifactItem> 
        </artifactItems> 
       </configuration> 
       </execution> 
      </executions> 
      </plugin> 
     </plugins> 
     </build> 


このすべての.jsonファイルをコピーします(ちょうど例のような何かを行うことができます)を現在のプロジェクトのビルド出力ディレクトリにコピーします。
詳細設定オプションについては、依存関係プラグインを参照してください。
これが役に立ちます。

+0

私がコピーしたいプロジェクトがプロジェクトの後にビルドされていても、コピーしたい場合はどうなりますか? – arinte

+0

@arinteまず、あるプロジェクトの後にビルドされたプロジェクトに依存するのは良い習慣ではありません。 まだ必要がある場合は、他のプロジェクト(シンボリックリンク)でファイルをリンクするか、同じソースツリーに属している場合は、$ {basedir} /../ some-プロジェクトに組み込まれた後/ src/main/resources/... –

関連する問題