Tomcat 7 の catalina.out ログに次のエラー メッセージが表示され続けますが、ソースが見つかりません。
java.lang.ClassNotFoundException: play.db.jpa.JPABase
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:150)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133)
at my.task.task.model.RequestLogManager.add(RequestLogManager.java:44)
at my.task.task.control.RequestLogFilter.logRequest(RequestLogFilter.java:48)
at my.task.task.control.RequestLogFilter.doFilter(RequestLogFilter.java:31)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at my.task.task.control.LoginFilter.doFilter(LoginFilter.java:26)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:269)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1773)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Mysqlサーバーでhibernate 3とJSF 2を使用しています。私は決してプレイフレームワークを使用しませんでした。
例外が永続性の問題を引き起こしているわけではなく、すべてのトランザクションがデータベースにコミットされています。そのため、実際には問題よりも厄介ですが、ソースを知らずにログを消去せずにエラーメッセージを表示することはできません.
エラーの原因となっているコードは次のとおりです。
public int add(RequestLogBean request) {
if (request.getUserName() == null || request.getUserName().isEmpty()) {
throw new IllegalArgumentException("Missing request user name");
}
int result = -1;
Session session = this.getFactory().openSession();
try {
session.beginTransaction();
result = (Integer) session.save(request);
session.getTransaction().commit();
} catch(HibernateException e) {
if(session.getTransaction() != null) {
session.getTransaction().rollback();
}
e.printStackTrace();
return -1;
} finally {
session.close();
}
return result;
}
でcommit()
私が調べた: この投稿
しかし、私のケースは異なります。jBoss ではなく tomcat を使用しています。pom.xml に追加しました
<dependency>
<groupId>com.google.code.maven-play-plugin.org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.10.Final-patched-play-1.2.5</version>
<scope>compile</scope>
</dependency>
そして、maven の依存関係がクラスパスに追加されていることは確かです。
play.db.jpa.JPABase
クラスは何に使用されますか?
私はそれがプレイフレームワーク上の任意のjpa implの基本クラスであることを読みましたが、私はそれを自分のコンピューターにインストールしていません.....
どんな助けでも大歓迎です。