私はこのフォーラムで初めて、JPA/EJBには初めてです。展開されたwar to tomcatは、java.lang.NoClassDefFoundErrorをスローすることはできません:javax/persistence/PersistenceException
小さなアプリケーションを含む.warファイルをTomcatサーバーに展開しようとしています。アプリケーションはDerby dbと通信するためにJTAを使用しています。
eclipseから実行してeclipseでEclipseを実行すると、すべてが正常に動作しますが、.warファイルをエクスポートしてアプリケーションをブラウズしようとすると、java.lang.ClassNotFoundExceptionがスローされます。 .persistence.PersistenceException。
私の永続性ファイルは、次のようになります
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.0">
<persistence-unit name="lab1" transaction-type="RESOURCE_LOCAL">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<!--<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>-->
<class>entity.Team</class>
<class>entity.Gambler</class>
<class>entity.Bet</class>
<class>entity.Game</class>
<class>entity.Gameday</class>
<properties>
<property name="openjpa.ConnectionURL" value="jdbc:derby://localhost:1527/hean0901;create=true"/>
<property name="openjpa.ConnectionDriverName" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="openjpa.ConnectionUserName" value="lab1"/>
<property name="openjpa.ConnectionPassword" value="user"/>
<property name="lab1.log" value="DefaultLevel=TRACE"/>
<property name="nonTransactionalDataSource" value="true"/>
<!-- <property name="openjpa.RuntimeUnenhancedClasses" value="supported"/>-->
<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema" />
<property name="eclipselink.logging.level" value="FINEST"/>
</properties>
</persistence-unit>
</persistence>
とスローエラーは次のようになります。
org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 1
1: <jsp:forward page="Setupcheck.do" />
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
javax.servlet.ServletException: Servlet execution threw an exception
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:706)
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:677)
org.apache.jsp.index_jsp._jspService(index_jsp.java:54)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.NoClassDefFoundError: javax/persistence/PersistenceException
model.Setupcheck.processRequest(Setupcheck.java:31)
model.Setupcheck.doGet(Setupcheck.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:706)
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:677)
org.apache.jsp.index_jsp._jspService(index_jsp.java:54)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.ClassNotFoundException: javax.persistence.PersistenceException
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
model.Setupcheck.processRequest(Setupcheck.java:31)
model.Setupcheck.doGet(Setupcheck.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:706)
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:677)
org.apache.jsp.index_jsp._jspService(index_jsp.java:54)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
は、誰もがこの前に遭遇していますか?
敬具 ヘンリク
WARファイルにJPAライブラリをパッケージ化することに加えて、あなたがパッケージ化されていることを確認してくださいあなたの戦争ファイルに必要なダービージャー。あなたのケースでは、derbyclient.jarが必要になるようです。 –
ありがとう@ddewaele、それは私のために働いた。 –