gpt4 book ai didi

java - ClassNotFoundException : org. Glassfish . Jersey .servlet.ServletContainer

转载 作者:行者123 更新时间:2023-11-28 23:23:59 25 4
gpt4 key购买 nike

几个月前我下载了 Eclipse Luna 和 Tomcat 8.0.24,但我开始使用它们。我一直在创建一个没有 Maven 的网络应用程序。我手动下载了 Jersey 2.23、Jersey media moxy 2.23、java-son 1.0、jdbc mysql 5.x 和 sql2o 1.5.4。我开始学习 Angular,我成功地创建了一个页面,没有任何问题。

我记得我在项目的构建路径中手动添加了我的 jars,我也被迫将它们添加到部署程序集中。很好。

自 2 周以来,我没有关闭笔记本电脑,只是处于 sleep 模式。但是昨天我确实关机了。从那以后,我很难让它再次工作。我用postman chrome测试我的restful服务,关闭后收到404错误。

我意识到我开始在控制台中看到异常:

java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer

我拼命删除了tomcat和eclipse的文件夹,从头开始。但是,我遇到了同样的问题。我记得我玩的最后一件事是这些修改后的选项。

  1. 从服务器选项卡双击服务器
  2. 从使用工作区元数据更改为使用 Tomcat 安装
  3. 服务器中的属性
  4. 将位置从元数据切换到 localhost.server

由于这些问题,我解决了我的问题:

现在,在“重新安装”eclipse 和 tomcat 之后,当我在库选项卡中添加 jar 时,它们现在会自动添加到部署程序集中。 (吃惊)

根据前面附加的问题,我从我的工作区以及 tomcat/wtpwebapps/myproject/WEB-INF/lib 中添加了 WEB-INF/lib 中的所有 jar。如果我不这样做,我将无法让它发挥作用。 postman 终于给了我想要的输出。

尽管如此,我意识到当我通过 Windows 资源管理器手动复制 jar 时,Eclipse 中的控制台显示 tomcat 再次重新启动。但我仍然看到异常:java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer。至少我可以在浏览器或 postman 中毫无问题地运行我的项目。很奇怪。

我想在 Windows > 首选项 > Java > 构建路径 > 用户库中添加一个新的用户库,但我的列表是空的!!!所以……

最后,我的问题:

  • Eclipse 发生了什么事?
  • 为什么我看不到以前添加的用户库? enter image description here
  • 如果我在 web-inf 文件夹中添加了 jar 使其明显工作,为什么我仍然在控制台中看到 glassfish.jersey 的异常。
  • 为什么我需要在 web-inf 中添加 jars,如果当我看到 Tomcat 库中包含的所有 jars 时,我的所有 jars 都在那里,因为我忘了提到我在 Tomcat 的 lib 中添加了一个名为 External 的文件夹文件夹。

enter image description here

enter image description here

对于所有这些更改,我重新启动了 Eclipse

最佳答案

与其手动添加 jar,不如使用 maven 并让 maven 管理 jar 的依赖关系。当类路径中没有 jar 时,会发生 ClassNotFoundException。也许您在服务器上部署的包没有正确捆绑。确保您的包中捆绑了 jar 或存在于类路径中。

另一个原因可能是您在两个 jar 中有重复的类文件,并且您的程序选择的类不合适。

关于java - ClassNotFoundException : org. Glassfish . Jersey .servlet.ServletContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39381288/

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