0

我正在尝试一件简单的事情:从部署在 GlassFish 的默认域中的 JSP 实例化一个普通的 Java 对象。GlassFish 似乎永远找不到类,所以我不断收到 NoClassDefFoundErrors。找到了 JSP,但没有找到类。我已经将包含该类的包目录的副本放在了几乎每个目录中 domain1(我正在使用的默认域)下的每个目录中,但仍然没有。这是目录结构:

C:/glassfishv3/glassfish/domains/domain1
  lib/
  docroot/

     testJsp.jsp
     WEB-INF/
        web.xml
        classes
           betterpack
               TestJavaClass.class
                  int doStuff()
  config/

在 testJsp.jsp 它这样做:

     <%  betterpack.TestJavaCLass tj1 = new betterpack.TestJava(startClass) %>
     then later:
     <%=tj1.doStuff()%>

我在实例化的行上得到一个 no ClassDefFoundError 。我还将 betterpack 目录的副本放在几乎所有其他目录中,例如 docroot 下的 lib/ 目录,在 docroot 中……什么都没有。哦,我认为上下文路径实际上在 config 中,因为当您写入文件时,它最终位于 config 目录中,所以我也将 betterpack 文件夹的副本放在那里。可能是什么问题呢?

4

1 回答 1

1

你真的在 WEB-INF/classes 文件夹中有 TestJava.class 文件吗?根据您的目录结构,您没有这样的类文件。

于 2010-06-28T10:40:05.863 回答