Eclipse 构建路径嵌套错误

2022-08-31 08:01:10

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

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

 Http 500 SEVERE: Allocate exception for servlet InitDb

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'

enter image description here

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

<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/> 

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


答案 1

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


答案 2

我想给这个话题一个非专家的答案。

由于版本控制和严格的目录结构原因,我无法遵循Acheron的答案(最佳答案),即执行类似于删除和添加以及构建路径的事情。src/src/main/javasrc/test/java

实际上,我已经断断续续地与这个嵌套构建路径问题斗争了几个星期。错误消息中提示了问题的答案:

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

修复

在构建路径中,您需要通过单击然后进行编辑:Inclusion and Exclusion PatternsExcluded: (None)Edit...

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

Exclusion Patterns

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


推荐