2016-07-18 17 views
0

は、私は多くのモジュールとマルチモジュールMavenプロジェクトを持っている、と私はすなわち、各モジュールのそれぞれのフォルダ内に構築されたバンドルを保存したいのですがbuildまたはbundle。我々はすべて知っているように今、Mavenは.m2/repositoryの下にあるすべてのものを格納します。しかし、私たちはすべてのプロジェクトでそれを変更したいと考えています。私は解決策を探しましたが、それらのほとんどは、我々が望むものではないリポジトリ全体の場所の変更を示唆しています。Mavenの

それぞれのモジュールのbuildフォルダに構築されたバンドルを置くためにMavenを伝える方法はありますか?

これを確認することができ、私たちが望む方法を示すために:今

+ m2 
    + repository 
    + localGroup 
     + moduleName <-- compiled bundle goes here 

我々が望むもの:

​​

注:私は言わなければなりません必ずしもそれらをコンパイルする必要はありませんフォルダは、それが.m2/repositoryから各モジュールのビルドフォルダにコピーを介して行うことができます。この点で、モジュールの中のものをコピーするのに、pluginがあると聞きました。

+0

は、なぜあなたはこれをしたいですか?最終目標は何ですか? – Tunaki

答えて

0

OK、これはちょっと私の問題解決:Mavenのは、プロジェクト自体の相対パスを使用していますので、このようなビルドフォルダを指定するために十分であることを

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <version>2.8</version> 
      <executions> 
      <execution> 
       <id>copy-installed</id> 
       <phase>install</phase> 
       <goals> 
       <goal>copy</goal> 
       </goals> 
       <configuration> 
       <artifactItems> 
        <artifactItem> 
        <groupId>${project.groupId}</groupId> 
        <artifactId>${project.artifactId}</artifactId> 
        <version>${project.version}</version> 
        <type>${project.packaging}</type> 
        </artifactItem> 
       </artifactItems> 
       <outputDirectory>build</outputDirectory> 
       </configuration> 
      </execution> 
      </executions> 
</plugin> 

注意、そう与える必要はありませんがフォルダなどの絶対パス。