Eclipse警告:XXXXXXXXXXX.jar将不会导出或发布。运行时ClassNotFoundExceptions可能会导致


问题内容

将所需的文件放在Eclipse的构建路径中后,仍然出现以下错误。我正在研究Spring MVC Hello World应用程序,并为Java
EE开发人员使用Eclipse Helios:

Jan 16, 2012 1:25:42 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /SpringMVCTutorial threw load() exception
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1062)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1010)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957)
    at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5284)
    at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5279)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

我尝试右键单击服务器,然后单击“清理”。我右键单击该应用程序,在“配置路径”上单击“构建路径”,然后将正确的JAR文件放入库中;但是,它仍然不承认它们为依赖项。我想念什么?

我已经尝试过这里提出的建议:

  1. 右键单击您的Web项目
  2. 点击“属性”
  3. 选择“ Java EE模块依赖项”
  4. 点击“网络库”标签
  5. 添加外部JAR(如果JAR在您的项目之外)。将在Jar / Module下添加一个条目,确保您单击复选框(已选中)。

问题是,当我选择“单击属性”时,我没有选择单击Java EE模块依赖项的选项,因为它没有出现。我下载了所有其他Java EE工具,但仍然找不到。


问题答案:

为了使其正常工作,我必须将所需的类路径/依赖关系中的文件“拖放”到文件WEB-INF/lib夹中。它以这种方式工作。

由于某种原因,当我尝试以正确的方式进行操作时

构建路径→配置构建路径→外部jar

只是不带他们。

诀窍在于,我必须将文件放入Web App Libraries文件夹中,而这样做的唯一方法(我可以看到)是“单击并拖放”到我的WEB- INF/lib文件夹中。这样,它会自动显示在我的Web应用程序库中。