gpt4 book ai didi

java - Struts基本类加载问题

转载 作者:行者123 更新时间:2023-12-02 08:11:07 26 4
gpt4 key购买 nike

我有一个基本的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com