通常,我使用Glass Fish作为NetBeans的测试服务器。 最近,我试图切换到Tomcat 6.0。一旦我更改了服务器,编译器就不再理解javax.persistence.Entity。当我检查Tomcat 6.0的库结构时,有一个名为annotation-api.jar的文件,其中有另一个javax.persistence包驻留(!!!)。是否有可能解决这种冲突,有两个包含不同内容的包有相同的名称?
答案 0 :(得分:2)
annotation-api.jar
不是JPA实现。你似乎认为在类路径中没有任何冲突的方法(这会产生运行时错误而不是简单的编译错误)。当Glassfish内置一个时,Tomcat没有任何JPA实现。你需要自己提供一个。您可以选择每个OpenJPA,Hibernate,TopLink或EclipseLink。并确保将其放入Webapp/WEB-INF/lib
。