Я разрабатываю приложение RESTful и хочу развернуть его на сервере TomEE. Все нормально, прежде чем я буду запрашивать сервер, когда он выдает некоторые исключения с помощью root: java.lang.ClassNotFoundException: javax.persistence.StoredProcedureQuery
. Я искал в Интернете, но ничего не нашел. Также я не использую hibernateTomEE не находит JPA 2.1 классы
Редактировать: отправка моих конфигураций.
pom.xml:
`<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>JobManager-core</artifactId>
<parent>
<groupId>...</groupId>
<artifactId>JobManager-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../JobManager-parent/</relativePath>
</parent>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.eclipsesource.jaxrs</groupId>
<artifactId>provider-gson</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.11.1.1</version>
</dependency>
</dependencies>
</project>`
persistence.xml
`<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="JobManager-core"
transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>com.sap.manager.app.entities.Job</class>
<properties>
<property name="eclipselink.target-database" value="Derby" />
<property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver" />
<property name="javax.persistence.jdbc.url"
value="jdbc:derby:C:\Users\I322829\Derby\MyDB\Manager;create=true" />
<property name="eclipselink.ddl-generation" value="create-tables" />
<property name="eclipselink.ddl-generation.output-mode"
value="database" />
</properties>
</persistence-unit>
Edit 2: Я не показал мой pom.xml для RESTful API, потому что он работает с моим файловая система (начинает бросать исключения после переключения на базу данных).
разместите соответствующие настройки. –
, если вы хотите использовать JPA API v2.1, тогда вам нужно поставить эту банку в CLASSPATH. Посмотрите под «org.eclipse.persistence» для чего-то вроде javax.persistence или persistence-api. –
@Neil: OP использует TomEE, а не Tomcat. Более того, «CLASSPATH» применим только для приложений CLI на базе Java SE. OP пытается использовать архив веб-приложений Java EE. – BalusC