解决java web 项目下没有在WEB-INF/classes下生成class文件

今天在发布项目时,以前能运行的项目报错,总提示找不到类。然后排查错误,发现配置和类什么都没有错,最后发现在web容器下项目并没有生成class文件。

解决办法:1.点击菜单栏的poject→Build Automatically是否勾选上

                              这里写图片描述

                2.在一次发布,看还报没报错,并去查看容器下的项目有没有生成class文件。如果还是不能编译,那么去就要去查看项目配置,项目右键->properties->Java Build Path->Source 将Default output folder设置为book/target/classes。我的是设置为这个可以编译了。

          3.如果你这样设置还是不可以编译,可以设置为这个

         4.再次进行测试,如果还是不能编译,就查看项目有没有报错,如果报错了,修改掉错误。 
         5.再次进行测试,如果还是不能编译,就查看其引用的jar包是否报错,如果报错,就remove掉,重新添加jar就好

 

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
是的,你可以使用 Maven 插件来自动生成新建的 Servlet。具体来说,你可以使用 Maven 的 Archetype 插件来生成一个基本的 Web 应用程序模板,并在其创建一个新的 Servlet。 下面是一些步骤: 1. 首先,使用 Maven Archetype 插件创建一个基本的 Web 应用程序模板: ``` mvn archetype:generate -DgroupId=com.example -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp ``` 2. 进入创建好的项目目录,并创建一个新的 Servlet: ``` cd my-webapp/src/main/java/com/example mkdir web cd web touch MyServlet.java ``` 3. 在 MyServlet.java 编写你的 Servlet 代码。 4. 在项目的 pom.xml 文件添加以下插件配置: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.3</version> <configuration> <webResources> <resource> <directory>src/main/java</directory> <targetPath>WEB-INF/classes</targetPath> <includes> <include>**/*.class</include> </includes> </resource> </webResources> </configuration> </plugin> </plugins> </build> ``` 这个插件配置会把你的 Servlet 类编译成 .class 文件,并将其打包到最终的 war 文件。 5. 最后,使用以下命令构建项目生成 war 文件: ``` mvn clean package ``` 你可以在 target 目录下找到生成的 war 文件,然后将其部署到你的 Web 服务器上。 注意,这个过程没有自动生成 web.xml 文件,但是 Maven 的 war 插件会根据你的代码自动生成一个默认的 web.xml 文件。如果你需要自定义 web.xml 文件,可以在项目的 src/main/webapp/WEB-INF 目录下创建一个自己的 web.xml 文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值