У меня проблема с созданием контекста постоянства с использованием аннотации.В чем проблема?
Я пытался использовать другие версии
import javax.ejb.EJB;
import javax.ejb.Singleton;
import javax.ejb.Stateful;
import javax.ejb.Stateless;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.persistence.*;
import java.util.List;
@Stateful
public class UserService {
@PersistenceContext(unitName = "JPAUNIT", type = PersistenceContextType.EXTENDED)
private EntityManager em;
public boolean saveUsr(User user){
em.getTransaction().begin();
try {
em.persist(user);
em.getTransaction().commit();
return true;
}catch (Exception e){
System.out.println("User exists");
return false;
}
}
//other methods
}
persistence.xml
<persistence-unit name="JPAUNIT">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>classes</class>
<properties>
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/points"/>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQL9Dialect"/>
<property name="hibernate.connection.username" value="postgres"/>
<property name="hibernate.connection.password" value="1234"/>
</properties>
</persistence-unit>
pom.xml
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>8.0</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.5</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.7.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.2-api</artifactId>
<version>1.0.0.Beta2</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.3.7.Final</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.19.4</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.27</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
StackTrace
Исключительная ситуация при подготовке приложения: java.lang.ClassNotFoundException: org.hibernate.jpa.HibernatePersistenceProvider java.lang.ClassNotFoundException: org.hibernate.jpa.HibernatePersistenceProvider на org.glass.ader.WebappClassLoader.loadClass (WebappClassLoader.java:1621) по адресу org.glassfish.web.loader.WebappClassLoader.loadClass (WebappClassLoader.java:1471) по адресу org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPUg:.glassfish.persistence.jpa.PersistenceUnitLoader. (PersistenceUnitLoader.java:107) в org.glassfish.persistence.jpa.JPADeployer $ 1.visitPUD (JPADeployer.java:223) в org.glassfish.persistence.jpa.JPADepnititeDraterate $ $(JPADeployer.java:510) в org.glassfish.persistence.jpa.JPADeployer.createEMFs (JPADeployer.java:230)
Обновлено: Попытка использовать другие версии, как сказал @SteveC, но это не помогло
Добавлена трассировка стека и pom.xml