java - Struts基本类加载问题

标签 java eclipse struts

我有一个基本的 Struts 应用程序,它当前只有一个操作 - 登录。我确认我正确设置了映射,然后想在其后面添加一个实际操作(即验证凭据的操作。

我创建了一个新项目,并在其中放入身份验证类,然后将该项目添加到我的 Web 项目的构建路径中。但是,现在当我尝试调用我的操作时,出现以下错误:

java.lang.ClassNotFoundException: com.mysite.data.managers.Authentication
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    com.mysite.struts.actions.LoginAction.execute(LoginAction.java:31)

从其他评论和之前的帖子中,我了解到虽然我的类可以编译(确实如此),但任何引用的类都必须位于 WEB-INF/lib 中(可能位于 jar 文件中)。当引用的类是第三方包含时,这是有意义的。

当引用的类是我的应用程序的一部分时(即我作为应用程序的一部分编写的内容,尽管在不同的项目中),是否无法通过构建路径引用项目而不将项目导出为 jar 并将该 jar 复制到 WEB-INF/lib (这意味着每当我对这些项目进行更改时,我都需要重新打包这些类并再次导出)?

这个问题的后续内容是关于链接项目的。如果项目 A 中引用了项目 B 中的类,那么我是否需要将这两个项目都包含在 WEB-INF/lib 中?

最佳答案

这看起来更像是一个 Eclipse 问题。您没有提及您正在使用哪个版本的 Eclipse 或哪个应用程序服务器,但让我们看看这些是否有帮助。

在项目的属性中,检查“部署程序集”页面。源列表是否包括源文件编译到的文件夹?对于 Eclipse 动态 Web 项目,该路径通常为 WEB-INF/classes。您的 Struts jar 也列在那里吗?

对于您的后续问题,您还可以在该列表中包含其他项目。我认为这会拾取项目在其构建路径设置中“导出”的任何内容。

关于java - Struts基本类加载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7403777/

相关文章:

java - 在jsp页面中动态创建行

java - 遇到类路径错误

java - Android:连续点击一到六个按钮[一个接一个]将不同的结果串在一起

java - 如何在 Eclipse 项目资源管理器窗口中隐藏依赖项 jar

eclipse PDT : put my workspace under htdocs or is there a "move files" build directive?

javax.servlet.jsp.JspException : No getter method for property 异常

java - 使用 JSONObject 解析 json 字符串以获取特定值

java - 从 JDK 1.6 迁移到 JDK 1.7 的 PowerMockito 测试出现约束违规

java - 如何保存训练好的神经网络(图像中的数字识别)

java - 创建一个过滤器来捕获所有 URL