【问题标题】:i get a 404 error in a EJB3 project that worked pefectly我在一个运行良好的 EJB3 项目中遇到 404 错误
【发布时间】:2011-10-24 23:33:33
【问题描述】:

我正在尝试查看我在学校所做的旧 EJB3 项目,但我唯一能看到的是浏览器上的 index.jsp。我得到的错误是:

SEVERE: Class [ Lse/ernesto/databaseStuff/DbManagerLocal; ] not found. Error while loading [ class se.ernesto.client.UpdateEventServlet ]

DBManagerLocal 是无状态会话 bean 的接口。 UpdateEventServlet 是动态 Web 项目中的一个 servlet。请注意,我已将 EJB 项目添加到 WEB 项目的构建路径中。

其他 jsp 文件位于我的动态 Web 项目的 WEB-INF 文件夹中。但它似乎没有找到负责加载这些 jsp 文件的 servlet。这很奇怪,因为该项目之前(1 年前)正在运行从那时起我更新到 OSX Lion,我不知道新操作系统和 EJB3 是否存在问题。 该项目由一个动态 Web 项目、一个 EJB3 项目和一个 EAR 项目组成,所有这些都通过 Eclipse 部署在 Glassfish 服务器中。有人遇到过这个问题吗?

非常感谢。

【问题讨论】:

    标签: java servlets ejb-3.0 glassfish-3


    【解决方案1】:

    简单的答案是 Web 容器找不到类/接口,因为它“不存在”。或者更准确地说,因为它不在它期望找到它的地方。

    我要做的是彻底搜索网络容器的目录树。从已安装的 webapp 的 WEB-INF/classes 目录开始,包括该目录中的所有 JAR 文件。然后查看共享库区域。

    如果找不到类或包含该类的 JAR,那么这就是您的问题。如果您可以找到它,但 Web 容器代码却找不到,则可能是在错误的位置。无论哪种方式,您的(当前)构建/部署过程中都会出现问题;例如您项目的 Eclipse 设置。

    (为什么它以前有效?谁知道呢。也许你正在构建/部署不同的东西。也许你手动部署了一些东西......)

    【讨论】:

    • 好吧,我去了(在 Finder 中)到:glassfish/domains/myDomain/eclipseApps/myProject/ 并在那里找到了类 DBManagerLocal.class jsp 文件和 JAR 文件也是那里。我不知道我是否必须去管理员 localhost:4848 来修复它。我不记得在管理员中做任何事情来使这个运行。 EJB 项目没有应有的 JAR 文件,并且 MANIFEST.MF 如下所示:Manifest-Version: 1.0 Class-Path: Class-Path: 中应该有类名吗?
    • @madcoderz - 简而言之,我不知道。但很明显,肯定有问题,否则 Glassfish 会找到该类。
    • 今天我会继续寻找解决方案。感谢您的宝贵时间。
    猜你喜欢
    • 2021-04-07
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多