En utilisant JPA, Maven et Tomcat, mais l'obtention de java.lang.NoClassDefFoundError: javax/persistance/Persistance

Mais en regardant les autres cas, j'ai essayé de mettre ces dépendances de Maven:

<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>

J'essaie de l'exécuter directement à partir d'Eclipse, mais je reçois l'erreur:
java.lang.NoClassDefFoundError: javax/persistance/Persistance

Je n'ai pas l'obtenir parce qu'il devrait être fourni par le javaee-api dépendance.

Ce qui concerne,
Eduardo

Mis à JOUR

Maintenant, j'ai essayé de les utiliser dans mon POMPON:

<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>

Une fois que Tomcat ne pas me fournir les fonctionnalités. Mais je suis toujours la même erreur, ça pourrait être quelque chose en rapport avec les dépendances de la portée? Aussi, mon importations sont comme:

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Persistence;

Comment dois-je dire à mon conteneur à utiliser Hibernate mise en œuvre?

Comme le javaee-api est nommé, c'est seulement une définition de l'api, mais ne pas fournir une implémentation pour celui-ci. Je suppose que vous avez besoin d'une mise en œuvre comme Hibernate, EclipseLink, etc. Et en plus vous avez défini le champ d'application de "condition", ce qui signifie qu'il sera fourni par un environnement comme JBoss, Glassfish, etc.
Je vois, j'ai essayé de fournir une Hibernate mise en œuvre, mais il ne fonctionne pas. Aussi, je suis en utilisant Tomcat et il doit fournir une implémentation. Personne ne sait ce qui serait les dépendances nécessaires pour l'utilisation de JPA et Hibernate?
Comment avez-vous donc? Pouvez-vous montrer le pom pour qui? Tomcat ne fournit pas d'implémentation JPA, parce que c'est un moteur de servlet et pas un Serveur JEE.
Oh, je savais que ce n'était pas un JEE conforme serveur, mais j'ai pensé qu'il aurait autant de place que. J'ai utilisé le POM ci-dessus. Je suis à essayer de comprendre comment fournir à l'hibernation de la mise en œuvre.
Tomcat n'est ni partielle d'un serveur JEE, ni un pas en plein JEE c'est seulement simple et un conteneur de Servlet (tomcat.apache.org/tomcat-7.0-doc/index.html). Si vous avez essayé avec hibernate je ne peux pas voir dans le pom de tout type de hibernate dépendances que vous avez posté. Désolé, mais sans que je ne peut pas l'aider.

OriginalL'auteur eduardohl | 2012-07-07