1

Hibernateを使用するプロジェクトがあります:hibernate-core-3.6.7.Final.jar

そのPOMで私は見つけました:

    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.0-api</artifactId>
    </dependency>

アプリケーションにすべての依存関係を含める必要がありますか、それともMaven自体がそれを行いますか?

4

3 に答える 3

3

でを指定する<dependency>と、pom.xmlそのjarがローカルリポジトリにダウンロードされるだけでなく、POMファイルもダウンロードされます。次に、MavenはそのようなPOMファイル内の情報を検索して、取得する必要のある他のライブラリーを見つけます。これが、Mavenの推移的な依存関係機能のアイデアです。

したがって、パブリックリポジトリに保存されているそのようなPOMファイルの正確性と完全性に依存します。そのようなPOMファイルの依存関係が更新されていないか空でない場合は、必要に応じて独自に依存関係を明示的に指定するpom.xml必要があります。

休止状態の 場合、に含めるとダウンロードされることを意味することにhibernate-coreすでに依存します。つまり、 は冗長性であり、削除できます。hibernate-jpa-2.0-apihibernate-jpa-2.0-apihibernate-corepom.xmlhibernate-jpa-2.0-api

HibernateでJPAインターフェースを使用する場合は、に応じてに含めることができるhibernate-entitymanagerため<dependency>hibernate-coreダウンロードすることもできます。

結論として、私はあなたが単に:に含めることをお勧めしhibernate-entitymanagerます<dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>3.6.7.Final</version>
</dependency>
于 2012-05-03T08:30:41.510 に答える
2

そのためにMavenが使用されます。Eclipse 用の m2 プラグインをインストールし (Eclipse でコーディングしている場合)、プロジェクトを右クリックして、[プロジェクトの依存関係を更新] をクリックします。
ただし、Maven はそのために使用されます。つまり、プロジェクトに依存関係を追加すると、Maven はライブラリをダウンロードし、プロジェクトの適切な場所に追加します。

于 2012-05-03T07:56:16.410 に答える
1

必要なすべての依存関係は、pom.xmlファイルに手動で追加する必要があります。適切に構成されている場合、Mavenはそこに追加した依存関係に対応するすべてのライブラリを自動的にダウンロードし、アプリケーションで使用できるようになります。

于 2012-05-03T08:23:35.283 に答える