我需要包括hibernate.jar的所有Maven依赖项吗?
我有一个使用Hibernate的项目:Hibernate-core-3.6.7.Final.jar 在其POM中,我发现:我需要包括hibernate.jar的所有Maven依赖项吗?,hibernate,maven,dependencies,pom.xml,Hibernate,Maven,Dependencies,Pom.xml,我有一个使用Hibernate的项目:Hibernate-core-3.6.7.Final.jar 在其POM中,我发现: <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.0-api</artifactId> </dependency> o
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
</dependency>
org.hibernate.javax.persistence
hibernate-jpa-2.0-api
我应该在我的应用程序中包含所有依赖项,还是Maven本身就应该这样做?Maven用于此。您应该为Eclipse安装m2插件(如果您在Eclipse上编码),然后右键单击您的项目->更新项目依赖项。
但是Maven用于此,这意味着当您在项目中添加依赖项时,Maven将下载LIB,并将它们添加到项目中正确的位置 Maven就是用来做这件事的。您应该为Eclipse安装m2插件(如果您在Eclipse上编码),然后右键单击您的项目->更新项目依赖项。
但是Maven用于此,这意味着当您在项目中添加依赖项时,Maven将下载LIB,并将它们添加到项目中正确的位置 您需要的所有依赖项都必须手动添加到pom.xml文件中。如果配置正确,maven将自动下载与您在其中添加的依赖项对应的所有库,它们将准备好在您的应用程序中使用。您需要的所有依赖项,您必须手动添加到pom.xml文件中。如果配置正确,maven将自动下载与您在其中添加的依赖项对应的所有库,它们将准备在您的应用程序中使用。如果您在
pom.xml
中指定一个
,不仅它的JAR将下载到您的本地存储库,但也会下载POM文件。Maven随后将在此类POM文件中查找信息,以找出它需要检索的其他库。这就是Maven的想法
因此,它依赖于公共存储库中存储的此类POM文件的准确性和完整性。如果此类POM文件中的依赖项未更新或为空,则必须在必要时在自己的POM.xml
中显式提供依赖项
对于hibernate,hibernate core
已经依赖于hibernate-jpa-2.0-api
,这意味着如果在pom.xml
中包含hibernate core
,将下载hibernate-jpa-2.0-api
。因此,hibernate-jpa-2.0-api
是冗余的,可以删除
如果您想在hibernate中使用JPA接口,您可以在
中包含hibernate entitymanager
,因为它取决于hibernate核心,因此也将下载它
总之,我建议您只需在
中包含hibernate entitymanager
:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.6.7.Final</version>
</dependency>
org.hibernate
休眠实体管理器
3.6.7.最终版本
如果您在pom.xml
中指定了一个
,不仅它的JAR会下载到本地存储库,还会下载一个pom文件。Maven随后将在此类POM文件中查找信息,以找出它需要检索的其他库。这就是Maven的想法
因此,它依赖于公共存储库中存储的此类POM文件的准确性和完整性。如果此类POM文件中的依赖项未更新或为空,则必须在必要时在自己的POM.xml
中显式提供依赖项
对于hibernate,hibernate core
已经依赖于hibernate-jpa-2.0-api
,这意味着如果在pom.xml
中包含hibernate core
,将下载hibernate-jpa-2.0-api
。因此,hibernate-jpa-2.0-api
是冗余的,可以删除
如果您想在hibernate中使用JPA接口,您可以在
中包含hibernate entitymanager
,因为它取决于hibernate核心,因此也将下载它
总之,我建议您只需在
中包含hibernate entitymanager
:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.6.7.Final</version>
</dependency>
org.hibernate
休眠实体管理器
3.6.7.最终版本