2017-07-11 19 views
2

親プロジェクトはは、私がこのような構造を持っている自動化

  **** child C 

親(A)


  **** child B 

私は親なし子Bをインストールしようとした場合には、Mavenは私にスローMavenのエラー、私は慣習で私のリポジトリにインストールされている親を持っている必要がありますが、誰かが子供を引っ張るための方法はありますが、インストールプロセス中に、P自動的にarentですか?私はより明確にしようとするつもりだ


@edit が、私はプロジェクトAに依存して、プロジェクトBを持っている私が構築できるようにしたいと思います(プロジェクトAは、親は、プロジェクトBのように、同じです)プロジェクトBでは、「ローカル」(m2>リポジトリ)リポジトリにAの存在を必要とせずに、BからAをインストールして、Bを実行する開発者がAを手動でインストールする必要はありません

+0

これは私には不明です。子を参照すると、リポジトリで使用可能な_が自動的にダウンロードされます。 –

+0

あなたの「構造」はむしろ構造化されていません。 ;)あなたは "_someone_"と "_pull_"はMavenの用語ではなくSCM用語であることを意味しますか? –

+0

私はもっと明確にしようとしています。私はプロジェクトAに依存するプロジェクトBを持っています(プロジェクトAは親です、プロジェクトBではと同じです)。プロジェクトBではビルドが可能です。 A私の 'ローカル'(m2>リポジトリ)リポジトリでは、BからAをインストールしてBを操作する開発者がAを手動でインストールする必要がないようにしたいと思います。 –

答えて

2

かいつまん:号(未直接、少なくとも)あなたは(別の1からのプロジェクトのビルドを実行することはできません

しかしからaggregator/multi-moduleプロジェクトまたはMaven Invoker PluginまたはGroovyまたはAntスクリプトなどを使用して実行できます。しかし、一度あなたが、依存関係の解決が既に行われていたであろう、そして失敗しただろう、あなたのケースで、後者のいずれかを実行したい)

あなたはそれを円形のような他の方法で行うことができます。

+- aggregator 
    +- pom.xml: <packaging>pom, <module>parent (A), <module>child B 
    | 
    +- parent (A) 
    | +- pom.xml 
    | 
    +- child B 
    | +- pom.xml: <parent>parent (A), <relativePath>../parent (A), <dependency>parent (A) 
    | 
    +- child C 
     +- pom.xml: <parent>parent (A), <relativePath>../parent (A) 

Building aggregatorは、Maven Reactorがchild Bの依存関係をparent (A)に認識するため、この順序でparent (A)child Bをビルドします。

+0

混乱のために申し訳ありません、私はまだ非常に若いですが、あなたの反応は素晴らしく、ありがとうございます! –

+0

@JeffSilvaいくつかの基本的な概念と良い参考文献へのリンクについては、[この回答](https://stackoverflow.com/a/30953905/1744774)を参照してください。 –

関連する問題