どの依存関係を含める必要があるかを調べるにはどうすればよいですか?

私はかなりJava/Springに新しく、いくつかの基本的なCRUD操作を含む単純なアプリケーションをまとめようとしており、データアクセスにHibernateを使用したいと思っています。

ビルドツールとしてMavenを使用しています。私の質問は、どのような依存関係がHibernateの使用に必要であるかを知る方法はありますか?たとえば、私はSpring 3.0.6を使用していますが、そのSpringのバージョンで使用するHibernateのバージョンはどのように分かりますか?さらに複数の可能性のあるHibernate依存関係がある場合、必要な機能にどのようなものを含めるべきかをどのように知っていますか?これまでのところ、これは部分的にドキュメントを読んでおり、部分的に試行錯誤しているようです。

他の依存関係の特定のバージョンで使用するMaven依存関係を知る決定的な方法はありますか?特定の機能に依存するものはどれですか?

ありがとう、

ジェームス。

5

4 答え

新しいフレームワークの使用を開始するときは、次の手順に従います。

  1. Go to framework's web site. In your case hibernate web site and try to find latest (or a specific) version. For hibernate it is 3.6.8-Final at the time of writing.
  2. Search for a maven dependency definition on the framework web site. If you can not find any dependency definition, them simply Google for "frameworkname _version_ maven dependency" and you'll most probably find necessary definition, as well as the necessary repository information. For example you can find the dependency definition for hibernate on mvnrepository.com and necessary artifact repository information on Hibernate 3.6.8 release page:

    The artifacts have all been published to the JBoss Nexus repository under the org.hibernate groupId at http://repository.jboss.org/nexus/content/groups/public-jboss/

  3. The question of which dependencies are necessary and which are optional depends entirely on the framework to be used. So for example in order to use hibernate, as stated on Hibernate Quick Start Guide:

    hibernate-core: The main artifact, which contains all the Hibernate classes, in packageorg.hibernate. You need these to build applications using the native Hibernate APIs. It includes capabilities for using native Hibernate mapping in hbm.xml files, as well as annotations.

    About compatibility issues (which version of hibernate is compatible with spring 3.0.6), all I can say is you have to read about integration manuals for those frameworks. Since Spring and Hibernate are two exclusively distinct frameworks, I don't think you can find a constant location to look for version compatibility matrix or something like that.

4
追加された

Mavenの目的は依存関係を手動で処理することを避けることです。使用するHibernateのバージョンを選択し、それをあなたのpomに入れるだけです。 Springは多くの異なるバージョンをサポートしています。

あなたが使用したいSpringのどの部分を知っている場合は、それらの部分をあなたのpomに含めてください。彼らは彼ら自身の要件を含むでしょう。

問題が発生している特定のモジュールやバージョンの組み合わせがありますか?

1
追加された
私は、オリジナルの質問は、有効なHibernate + Springの組み合わせは何かと思います。私はSpring 3.xがHibernate 2.xをサポートしていないと信じています。
追加された 著者 dma_k,
実際に@dma_k Hibernate 3.2+。
追加された 著者 Dave Newton,

最新のものを取ることは、彼らが安定している限り、本来的に働く。

休止状態と春のコア、コンテキスト、txから始めます。

あなたがいくつかを追加した後、おそらく他の何かが欠落していることを認識するでしょう。

試行錯誤は良いとは言えませんが、春の依存関係にはうまくいきます。

0
追加された

すべての依存関係があることを確認する唯一の方法は、アプリを実行することです。 Mavenは推移的な依存関係を解決するので、Javaコードをコンパイルすることで欠落しているものをすばやく検出できます。 しかし、Webアプリでは、実行時に必要な多くの依存関係が存在するため、コンパイル時には検出されません。

依存関係を調べるには、 mvn dependency:tree を実行し、必要な場合は mvn dependency:analyze を実行して解析します。

0
追加された