設定方法は、サブテーマの依存関係をMavenローカルな展開をjarファイ?

StackOverflow https://stackoverflow.com/questions/2585220

  •  24-09-2019
  •  | 
  •  

質問

インターネットで調べることでような答えを出さないような小物ができます。

私は次のようなプロジェクト構造

parent
   ---sub-project1
   ---sub-project2

サブニーズを第2プロジェてサブproject1として依存性がある。

私はこのsub-第2プロジェ、pom:

 <dependencies>
    <dependency>
         <artifactId>sub-project1</artifactId>
        <groupId>mygroup</groupId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

....

い場合は、Mavenをdowloadのsub-project1.jar ファイルが存在しないので準備が出来ていないためのレポ-レート。

Iたけ <scope>import</scope> の依存関係がんのいずれか--。

で何をしていなMavenを見てサブproject1ビルドする際のサブ第2プロジェ?

編集 ここではpomスニペット:

親会社

<project 
   xmlns="http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0          
    http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <prerequisites>
      <maven>2.0.9</maven>
   </prerequisites>
   <modules>
    <module>sub-project1</module>
    <module>sub-project2</module>
   </modules>
 ....

サブproject1:

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <parent>
    <artifactId>parent</artifactId>
    <groupId>mygroup</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>

  <artifactId>sub-project1</artifactId>
....

サブ第2プロジェ:

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <parent>
    <artifactId>parent</artifactId>
    <groupId>mygroup</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>

   <artifactId>sub-project1</artifactId>

    <dependencies>
     ....
       <dependency>
          <artifactId>sub-project2</artifactId>
          <groupId>mygroup</groupId>
          <version>1.0-SNAPSHOT</version>
          <scope>import</scope>
      </dependency>
  </dependencies>

の誤差をとった時 mvn clean install の親会社は:

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

多くのクラスのパッケージにはない誤差

役に立ちましたか?

解決

あなたはあなたのプロジェクトのモジュールの一覧が表示されますする親のレベルでマスターPOMを、持っている必要があります。

  <modules>
    <module>sub-project1</module>
    <module>sub-project2</module>>
  </modules>

各サブプロジェクトでは、あなたの親を参照する必要があります:

<parent>
    <artifactId>parent</artifactId>
    <groupId>mygroup</groupId>
    <version>1.0-SNAPSHOT</version>
</parent>

そして、あなたは、あなたがやったとして、プロジェクト間の依存関係を指定します。私はあなたが私が説明してきたステップのいくつかを逃したと思う。

編集:あなたが発行する必要がありますあなたの親レベルでののクリーンインストールMVN

他のヒント

い場合は、Mavenをdowloadのsub-project1.jar ファイルが存在しないので準備が出来ていないためのレポ-レート。

それが通常行動、Mavenの解決の依存関係を通じて、地域リポジトリのばなければなりませんでし install サブproject1ます。実際には、どうなるかという点に集中してこのような状況に打ち上げ炉の構築(マルチモジュールの構築から会はなかったようである。

想いを集計モジュールの親会社例いようなことを宣言し、"親会社" pom.xml:

<modules>
  <module>sub-project1</module>
  <module>sub-project2</module>>
</modules>

だけで cd の親ディレクトリの立ち上げ炉の構築:

$ cd parent
$ mvn install

Mavenを 計算の構築をめ 点から重視のグラフ製のモジュールとその依存関係は、クラ install すべてのモジュール の計算(親会社、そのサブproject1や最後にサブ第2プロジェ特例)。

な利用 範囲 タイプ import, は、誤用ます。取り外してください。

更新: の質問を更新しました答えはPOMsを示してはならないもの例の状況の独自の問題(逆依存性が間違いのアーティファクトid).が提案されたアプローチが適用されます。を削除し <scope>import</scope> の依存関係を始める原子炉の構築から会はなかったようである。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top