找不到Maven web项目servlet类



只需使用Maven webapp architype设置一个eclipse项目。我创建了一个servlet文件,并将其添加到src/main下的resources文件夹中/当我运行应用程序时,tomcat会给出一个错误:

实例化servlet类com.ABCompany.Demo.SampleDemo.java.lang.ClassNotFoundException时出错:com.ABCompany.Demo.SSampleDemo

该文件位于src/main/resources/com/ABCompany/Demo/SampleDemo.java 文件夹下

我的web.xml在下面。

<web-app>
 <display-name>Demo Example</display-name>
 <servlet>
 <servlet-name>SampleDemo</servlet-name>
 <display-name>SampleDemo</display-name>
 <description></description>
 <servlet-class>com.ABCompany.Demo.SampleDemo</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>SampleDemo</servlet-name>
 <url-pattern>/SampleDemo</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
 <welcome-file>index.jsp</welcome-file>     
 </welcome-file-list>    
</web-app>

阅读问题:

该文件位于src/main/resources/com/ABCompany/Demo/SampleDemo.java 文件夹下

Java源文件,应在src/main/java

src/main/java/com/ABCompany/Demo/SampleDemo.java

其他文件,如属性、HTML/CSS文件、图像、模板等,通常放置在src/main/resources中。由于它们不需要编译,只需复制到构建目录中即可。因此,它们可以用于运行应用程序,也可以用于打包(创建jar)。

提示:根据约定,包名称不应包含大写字母。所以前面提到的是com.abcompany.demo

提示:另请阅读如何使用Maven创建一个使用Maven原型的Web应用程序项目,以进行设置!

我也遇到了同样的问题。

我的解决方案是:当项目创建时,请手动在src/main下创建java文件夹,这是因为maven原型webapp默认不会创建src/main/java。

Before: src/main
After:  src/main/java

image:java文件夹手动创建

当第一步准备好后,您可以创建所需的所有servlet,请确保您在src/main/java下创建了所有的类和servlet。

问题在于servlet是在src/main/resources下创建的,这意味着所有的.java文件都打包为资源,而不是编译为.class。

最新更新