如何在maven项目中选择适当的导入包?

如何在maven项目中选择适当的导入包?,maven,intellij-idea,ejb,ejb-3.0,maven-3,Maven,Intellij Idea,Ejb,Ejb 3.0,Maven 3,我正在使用IntelliJ IDea 12 Ultimate,我创建了一个Maven项目。 然后我创建了一个类,并尝试向其添加@Entity注释。 现在intellij idea不再让我像在非maven项目中那样选择本地包,而是让我将一些远程依赖项导入pom.xml。 我如何知道要选择哪个包? 例如,当我有一个非maven项目时,我选择使用javax.persistence包,ide根据底层JDK添加了适当的导入。 现在如果我去搜索javax.persistence,我会得到这个页面(),我有四

我正在使用IntelliJ IDea 12 Ultimate,我创建了一个Maven项目。 然后我创建了一个类,并尝试向其添加@Entity注释。 现在intellij idea不再让我像在非maven项目中那样选择本地包,而是让我将一些远程依赖项导入pom.xml。 我如何知道要选择哪个包? 例如,当我有一个非maven项目时,我选择使用javax.persistence包,ide根据底层JDK添加了适当的导入。 现在如果我去搜索javax.persistence,我会得到这个页面(),我有四种不同的选择(1.0-rev-1、1.0.2、1.0、1.0b)。 如何知道JDK使用的是哪个版本,以便选择适当的maven依赖关系? 多谢各位

PS:这是IntelliJ在搜索工件id时选择的(它似乎只选择最新版本,与打包机无关):


org.hibernate.javax.persistence
hibernate-jpa-2.0-api
1.0.1.最终版本

如果您的项目需要外部依赖项,这意味着它们不包含在您的JDK中,因此当您询问我的JDK使用哪个版本时,它实际上并不相关。我会说“最新的是最伟大的”:

如果要使用JPA 2,请参阅以下线程:


您将需要
javax.persistence
和JPA实现的另一个依赖项(Hibernate、toplink、OpenJPA等)

如果我没有弄错的话,所有这些打包程序(eclipse、Hibernate)使用相同的官方javax.persistence实现,但区别在于它们在包中打包了一些额外的东西?
javax.persistence
只是一个API,它是Java EE堆栈的一部分。基本上,它是一组接口/注释,需要由提供者实现(eclipselink是JPA2的参考实现)。有关更多信息,请参阅。感谢您提供的精彩信息。最后一件事,当我在非maven项目中使用它时,我的项目使用了哪个实现?这取决于您在类路径中使用了什么jar。。。您的代码是否按预期工作?您是否有
lib/
文件夹(或等效文件夹),它包含什么?JDK不包含任何JPA实现,不幸的是,在不知道项目内容的情况下,我无法回答您的问题。
<dependency>
          <groupId>org.hibernate.javax.persistence</groupId>
          <artifactId>hibernate-jpa-2.0-api</artifactId>
          <version>1.0.1.Final</version>
</dependency>