4

slf4j-api-1.5.8とlog4j-1.2.14の依存関係を持つmavenによって管理されているプロジェクトがあります。実行時に、slf4jはslf4j-log4j12-1.5.8.jar出力をlog4jに「ブリッジ」する必要があります。

したがって、でpom.xml、この依存関係を追加します:

  <dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.5.8</version>
            <type>jar</type>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
  </dependencyManagement>

ビルド後(war:war)、log4j-1.2.14.jar両方ともディレクトリにslf4j-api-1.5.8.jar追加されましたWEB-INF/libが、中に見つかりませんslf4j-log4j12-1.5.8.jar

次に、「依存関係階層」を使用して解決された依存関係を確認しますが、slf4j-log4j12が見つかりません(したがって、にパッケージ化されていませんWEB-INF/lib

ここで何が問題になっていますか?

環境:maven 3.0-beta1、m2-eclipse-0.10.0.20100209

4

1 に答える 1

4

依存関係管理セクションは、依存関係情報を一元化するためのメカニズムです。依存関係管理セクションに依存関係を追加しても、それ自体がプロジェクトの依存関係になるわけではなく、依存関係として宣言する必要があります。

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.5.8</version>
      <type>jar</type>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
</dependencyManagement>
<dependencies>
  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
  </dependency>
</dependencies>
于 2010-05-31T12:42:51.553 に答える