在Weblogic上集成JPA的Java NoClassDefFoundError

时间:2012-11-02 19:28:26

标签: oracle jpa

我有一个名为“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)

1 个答案:

答案 0 :(得分:0)

这似乎是一个包裹问题。我通过给jpa包名eshop来解决它。