由于“无法在javax.persistence.Table类型中找到注释方法名称()”而编译错误“

时间:2011-02-12 19:48:04

标签: java hibernate intellij-idea compiler-errors jpa-2.0

我的项目没有编译,并给出了这些错误:

  

信息:   d:\项目\ GRE \ COM \网站\核心\域\ Employee.class:   警告:找不到注释方法   'schema()'的类型   'javax.persistence.Table':类文件   对于javax.persistence.Table未找到。
      信息: D:\ projects \ gre \ com \ site \ core \ domain \ Employee.class:   警告:找不到注释方法   'name()'的类型   'javax.persistence.Table':类文件   对于javax.persistence.Table未找到。
      信息: D:\ projects \ gre \ com \ site \ core \ domain \ Employee.class:   警告:找不到注释方法   'fetch()'的类型   'javax.persistence.ManyToOne':类   javax.persistence.ManyToOne的文件   没找到。
      信息:发生了异常   编译器(1.6.0_22)。请提交bug   在Java Developer   Conncetion(http://java.sun.com/webapps/bugreport)   在检查了Bug Parade之后   重复。包括你的程序和   您的以下诊断   报告。谢谢。
      信息: com.sun.tools.javac.code.Symbol $ CompilationFailure:class   对于javax.persistence.FetchType没有   发现
      信息:编译完成时出现1个错误和0个警告       信息: 1错误
      错误:编译器内部错误。进程以退出代码4终止

我正在使用IntelliJ Idea 9,正确附加 hibernate-jpa-2.0-api-1.0.0.Final.jar
我已经使缓存无效,删除了/ war文件夹,但在编译时仍然出错。

2 个答案:

答案 0 :(得分:2)

我也使用IntelliJ和hibernate-jpa-2.0-api-1.0.0.Final.jar和javax / persistence / Table.class以及javax / persistence / ManyToOne.class肯定在这个JAR中。

我只能认为JAR不在你的类路径中。你在哪里放置这个JAR?你用什么来编译你的代码?你确定它在你的类路径中吗?

答案 1 :(得分:1)

不幸的是我没有我的开发。环境在这里,但据我记得hibernate jar不一定包含JPA的东西,所以你必须将persistence.jar添加到你的类路径。

BTW尝试使用maven作为构建工具,忘记解决第三方库之间的依赖关系。