JPAを作成している「eshop」と呼ばれるWeb動的プロジェクトが1つあります。File New JPA project を介して新しい JPA を追加し、「model」というパッケージ名で「jpa」と呼びました。eshop プロジェクトのサーブレットでは、
import model.*;
ProductModelDAO dao4 = new ProductModelDAOImpl("jpa");
ArrayList products = dao4.getProductsByCategory(categoryId);
ただし、NoClassDefFoundError エラーが発生し続けます。Eclipse では、パッケージ名が「eshop」の eshop プロジェクトと同じパッケージ名を JPA に付けることはできません。プロパティウィンドウを使用したJPAプロジェクトで、結果なしでeshopプロジェクトを参照しようとしました。JavaビルドパスのJPAプロジェクトでは、クラスフォルダーの追加を介してeshopプロジェクトのクラスフォルダーも追加しました。また、結果なし。なぜこれが起こっているのかを確認するのに何時間も費やしました。誰でもこれを解決する方法を明確に教えてもらえますか? Weblogic 11gR1 (10.3.3) を使用しています。エラーは次のとおりです。
java.lang.NoClassDefFoundError: model/ProductModelDAOImplat eshop.Servlet.doPost(Servlet.java:110)
at eshop.Servlet.doGet(Servlet.java:57)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3686)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)