質問

当社のMavenプロジェクト、または、以下のディレクトリ構造(約80件、合計数を表示しなの)このメソッドをオーバーライド:

myappli      (pom)
-- module1       (pom)
--|-- utils    (pom)
--|-- ejb       (pom)
--|--|-- myappli-module1-a-ejb    (jar)
--|--|-- myappli-module1-b-ejb    (jar)
--|-- war       (pom)
--|-- applet       (pom)
...
-- module6       (pom)
--|-- utils       (pom)
--|-- ejb       (pom)
--|--|-- myappli-module6-c-ejb    (jar)
--|-- war       (pom)
--|-- applet       (pom)

注意:この 構造のためにMavenに、葉以外のプロジェクト packaging 値の"pom".(cf BetterBuildsWithMaven。

この依存関係のバージョン"dependencyManagement"、"myappli"pom.この作品です。

問題の再利用の依存関係自.例えば、ejb依存関係のすべてに共通するプロジェクト(デザイン).しないカットアンド-ペースト、維持し、すべての項目に変更!●

その一方で"輸入という概念"のejbの依存関係を、定義する依存関係を一度アプリケーションレベル.弊社の成功の試みた:

  • Maven"parent pom"という概念もするものでは既に使用するモジュールでは当社の要件を満たす。
  • な施設がMavenを除くdependencyManagement)
  • XML企業の定義は認められません。また、pom、以下のようにエラー
    "Reason: Parse error reading POM. Reason: could not resolve entity named 'ejbDependencies'":

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE project [
    <!ENTITY ejbDependencies SYSTEM "./ejbDependencies.txt">
    ]>
    <project ...
    ...
    &ejbDependencies;
    ...


編集 :私のように解決されるロバートが、何かが間違っています。

私はコンパイルマejbプロジェクトするものではありませんの依存関係はます。エランパイルするときにmvnコンパイル)、"javax.ejbのパッケージが欠けています。

注意:っ走る"mvnインストールの依存関係のプロジェクトです。

これが私の構成:

<project ...>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.company</groupId>
    <artifactId>myproj-maven</artifactId>
    <version>3.1-SNAPSHOT</version>
  </parent>

  <groupId>com.company</groupId>
  <artifactId>myproj-maven-ejb</artifactId>
  <version>${myproj-version}</version>
  <packaging>pom</packaging>

  <dependencies>
    <dependency>
      <groupId>javax.ejb</groupId>
      <artifactId>ejb</artifactId>
    </dependency>

    <dependency>
      <groupId>ojdbc</groupId>
      <artifactId>ojdbc</artifactId>
    </dependency>
  </dependencies>
</project>

---------------------------------
<project ...>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.company</groupId>
    <artifactId>myproj-identite-ejb</artifactId>
    <version>3.1-SNAPSHOT</version>
  </parent>

  <groupId>com.company</groupId>
  <artifactId>myproj-identite-metier</artifactId>
  <name>SNR IDENTITE METIER</name>
  <version>2.0.1</version>
  <packaging>ejb</packaging>

  <dependencies>
    <dependency>
      <groupId>com.company</groupId>
      <artifactId>myproj-maven-ejb</artifactId>
      <version>${myproj-version}</version>
      <type>pom</type>
    </dependency>
  </dependencies>
</project>

わからない場合でも、階層とのpoms.
として厳しいMavenの構造、それぞれのディレクトリを宣言し全てのサブディレクトリとしてmavenローカルモジュール、各サブディレクトリを宣言し、親としてmavenます。
共同の親ディレクトリの一部であること。

+---maven
|   \---ejb
+---identite
|   +---ejb
|   |   \---SNR_IDENTITE_METIER

編集:

その答えによるサンゴ礁います。ことはできないMavenで依存関係により、行ってはならないの他:-(

私たちは多くの問題にセットアップされMaven.多くの少しています。今日していることが分かったのサイトの対象のお取扱いできない特性を利用バージョン。

役に立ちましたか?

解決

なお輸入に依存してい の提供 範囲?実際にこの範囲は他(Maven 依存関係のスコープ).

この理由は、単に交換できます。

他のヒント

利用できる pomの依存関係 輸入依存関係を任意す。

A pomプロジェクトで見:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>persistence-deps</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>

  <dependencies>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate</artifactId>
      <version>${hibernateVersion}</version>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-annotations</artifactId>
      <version>${hibernateAnnotationsVersion}</version>
    </dependency>
  </dependencies>
</project>

および輸入してい:

<dependency>
  <groupId>com.example</groupId>
  <artifactId>persistence-deps</artifactId>
  <version>1.0</version>
  <type>pom</type>
</dependency>

Mavenの決定版ガイド依存関係のグループ化 ます。

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