但是看着其他情況下,我試圖把這些依賴於Maven的:使用JPA,Maven和Tomcat的,但得到java.lang.NoClassDefFoundError:使用javax /持續性/持久性
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
</dependencies>
我試圖運行直接從Eclipse,但我不斷收到錯誤: java.lang.NoClassDefFoundError:javax/persistence/Persistence
我不明白它,因爲它應該由javaee-api依賴項提供。
問候, 愛德華
修訂
現在,我想在我的POM使用這些:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.1.4.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.1.4.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.java-persistence</groupId>
<artifactId>jpa-api</artifactId>
<version>2.0.Beta-20090815</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>7.0.26</version>
<scope>provided</scope>
</dependency>
</dependencies>
一旦Tomcat的將不提供我任何的功能。但是我仍然遇到同樣的錯誤,它是否與依賴範圍有關?另外,我的進口,如:
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Persistence;
我如何告訴我的容器來使用Hibernate實現?
開始作爲JavaEE的-API被命名爲它的唯一的API定義,但不提供這一個一個實現,則不應使用Hibernate的註解。我假設你需要像Hibernate,EclipseLink等實現。此外,你定義的範圍「提供」,這意味着它將由像JBoss,Glassfish等環境提供。 – khmarbaise 2012-07-07 15:32:13
我看到,我試過提供Hibernate實現,但它didn沒有工作。另外,我使用Tomcat,它應該提供一個實現。有誰知道哪些是使用JPA和Hibernate的必要依賴關係? – eduardohl 2012-07-07 15:44:53
你是怎麼做到的?你能爲它展示一下嗎? Tomcat不提供JPA實現,因爲它是一個servlet引擎而不是JEE服務器。 – khmarbaise 2012-07-07 15:56:40