Eclipse构建路径嵌套错误

Eve*_*ill 115 java eclipse tomcat servlets

我正在为我的班级开发一个简单的JSP/Servlet/Tomcat webapp.教授要求我们使用与默认动态Web项目结构略有不同的文件夹结构.他没有使用webcontent文件夹,而是希望我们在src/main/java和src/main/webapp下的所有源代码.

当我运行应用程序时,我的欢迎文件显示正常,但当我尝试访问我的servlet时,我得到:

 Http 500 SEVERE: Allocate exception for servlet InitDb
Run Code Online (Sandbox Code Playgroud)

抛出java.lang.ClassNotFoundException.我很确定这是一个构建路径错误.我在构建路径上有final/src,但是我收到了警告

"Cannot nest 'final/src/main/webapp/WEB-INF/classes' inside 'final/src'. To enable the    nesting exclude 'main/' from 'final/src'
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我在部署程序集中有这个:

<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/> 
Run Code Online (Sandbox Code Playgroud)

当我排除主要/警告消失,但它不能解决问题.我很感激任何建议.谢谢.

ach*_*n55 296

即使我创建了一个新项目,我也遇到了同样的问题.我在Eclipse中创建Java项目,然后对其进行mavenize,然后进入java构建路径属性删除src/和添加src/main/javasrc/test/java.当我运行Maven更新时,它曾用于提供嵌套路径错误.
然后我终于意识到 - 因为我之前没有看过那个条目 - <sourceDirectory>src</sourceDirectory>当我对它进行mavenize时,pom文件中有一行.删除它后解决了.

  • 我刚刚将 pom 条目重命名为 scr/main/java,一切都很好。感谢 acheron55 的帖子 (4认同)
  • 这只是众多随机技巧之一。没有解释为什么。因此帮助不大。 (2认同)

hee*_*eez 18

我想对这个帖子提出一个非常少的回答.

由于版本控制和严格的目录结构的原因,我无法跟随做类似的东西去除黄泉的的回答(最好的答案)src/,增加src/main/javasrc/test/java到构建路径.

实际上我已经和这个嵌套的构建路径问题进行了几个星期的斗争.错误消息中暗示了问题的答案:

To enable the nesting exclude 'main/' from 'final/src'

固定

在您的构建路径中,您需要Inclusion and Exclusion Patterns通过单击Excluded: (None)然后执行Edit...以下操作来编辑您:

  1. 转到导航器,然后右键单击项目
  2. 构建路径
  3. 配置构建路径
  4. 来源(标签)

排除模式

在那里你可以添加main/webapp/WEB-INF/classesExclusion Pattern.然后它应该允许您main/webapp/WEB-INF/classes作为单独的源文件夹添加到构建路径.


Sir*_*dda 10

试试这个:

从库选项卡:

Eclipse -> right click on project name in sidebar -> configure build path -> Libraries
Run Code Online (Sandbox Code Playgroud)

删除您的Web应用程序库:

click on "Web App Libraries" -> click "remove"
Run Code Online (Sandbox Code Playgroud)

将它们添加回来:

click "Add Library" -> click to highlight "Web App Libraries" -> click "next" -> confirm your desired project is the selected option -> click "Finish"
Run Code Online (Sandbox Code Playgroud)

突出显示"Web App库":

突出


小智 9

这是一个简单的解决方案:

  1. 右键单击项目>>属性>>构建路径;
  2. 在源选项卡中,选择所有源文件夹;
  3. 删除它们;
  4. 右键单击项目,Maven >> 更新项目。

  • 谢谢你拯救了我的一天! (3认同)
  • 这对我来说非常有效,无需更改任何配置。 (2认同)