我有一个名为“eshop”的网络动态项目,我正在为其制作 JPA。我已经通过 File New JPA 项目添加了一个新的 JPA,并将其称为“jpa”,包名称为“model” 在 eshop 项目的 servlet 中,我通过以下方式调用它
import model.*;
ProductModelDAO dao4 = new ProductModelDAOImpl("jpa");
ArrayList products = dao4.getProductsByCategory(categoryId);
但是,它不断给出 NoClassDefFoundError 错误。Eclipse 不允许我为 JPA 提供与包名为“eshop”的 eshop 项目相同的包名。在使用属性窗口的 JPA 项目中,我尝试引用 eshop 项目但没有任何结果。在 Java Build Path 的 JPA 项目中,我还通过 Add Class Folder 添加了 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)