Eclipse构建路径嵌套错误

144

我正在为我的课程编写一个简单的JSP/Servlet/Tomcat Web应用程序。教授要求我们使用一个略微不同于默认动态Web项目结构的文件夹结构。他想要所有的源代码都放在src/main/java和src/main/webapp下,而不是使用webcontent文件夹。

当我运行这个应用程序时,我的欢迎页面正常显示,但是当我尝试访问我的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'

图片描述

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

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

当我排除 main/ 后,警告消失了,但这并没有解决问题。我会感激任何建议。谢谢。

14个回答

1

我遇到了类似的问题。按照以下步骤操作,问题得以解决:

  1. 在Eclipse中删除项目。
  2. 删除.Project文件和.Settings文件夹。
  3. 将项目重新导入为现有的Maven项目。

0

STS IDE

这取决于告诉“用作源文件夹”的是哪个文件夹。在图片中的结构中,如果将其告诉“目标”或“生成”的文件夹,则会出现“嵌套”错误。但是在“cxf”文件夹中,它是pom.xml的“插件”部分中最后一个提到的文件夹,并且从那里开始包结构(如.wsdl文件所示),即-正确的文件夹将其设置为“源”文件夹,然后就不会出现错误。


0
如果其他解决方案无效,并且您正在使用任何插件在pom.xml中添加源,请检查它。我使用了build-helper-maven-plugin来添加从openapi规范生成的类,但配置不正确:
<source>${project.build.directory}/generated-sources/openapi/src</source>

应该是:

<source>${project.build.directory}/generated-sources/openapi/src/main/java/</source>

所以在纠正之后:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>3.3.0</version>
    <executions>
        <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>${project.build.directory}/generated-sources/openapi/src</source>
                </sources>
            </configuration>
        </execution>
    </executions>
</plugin>

-4
创建两个文件夹:final/src/ 用于存储Java源代码,以及 final/WebRoot/
源代码和Web根目录不能放在一起。我认为你可能误解了老师的意思。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接