【解决】idea启动spring MVC报错:一个或多个listeners启动失败Listener ClassNotFoundException

这篇具有很好参考价值的文章主要介绍了【解决】idea启动spring MVC报错:一个或多个listeners启动失败Listener ClassNotFoundException。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

idea 2023配置教程。tomcat调试报错Artifact :war exploded: Error during artifact deployment。

修改代码后,启动不生效,仍是旧代码。

根本原因是:

Modules output path和Artifacts output directory不匹配

Modules output path一定要等于Artifacts output directory加\WEB-INF\classes





先来理解一下各概念和他们的关系

Modules是项目,根是项目文件夹

【解决】idea启动spring MVC报错:一个或多个listeners启动失败Listener ClassNotFoundException,intellij-idea,spring,mvc,java,tomcat,idea

Facets表述了框架、技术和语言

Facet 是和 Module 紧密结合的,你如果是在 Module 里配置了,那么 Facet 里边也会出现,而如果你先在 Facet 里配置,它会要求你选择 Module,所以结果是一致的。

Facets让Intellij IDEA知道怎么对待module内容,并保证与相应的框架和语言保持一致。

比如我们现在要开发的是一个 web 项目,那就需要 web 相关的 Facet,事实上,如果没有这个配置支持,编译器也不知道这个项目是个 web 项目,也就不会去读取 web.xml 的配置,更无法被 tomcat 这种容器支持。

【解决】idea启动spring MVC报错:一个或多个listeners启动失败Listener ClassNotFoundException,intellij-idea,spring,mvc,java,tomcat,idea

Artifacts表述了maven要如何打包

例如war exploded、war、jar、ear等等这种打包形式。

对于 Module 而言,有了 Artifact 就可以部署到 web 容器中了。其中 war 和 war exploded 区别就是后者不压缩,开发时选后者便于看到修改文件后的效果。

【解决】idea启动spring MVC报错:一个或多个listeners启动失败Listener ClassNotFoundException,intellij-idea,spring,mvc,java,tomcat,idea



回到最初:Modules output path和Artifacts output directory的关系

spring MVC启动/调试过程中idea的步骤

Modules输出内容是你的java代码的编译结果,可以配置使用项目配置,或者自定义

【解决】idea启动spring MVC报错:一个或多个listeners启动失败Listener ClassNotFoundException,intellij-idea,spring,mvc,java,tomcat,idea

Artifacts输出内容是webapp,包括中的js html jsp等文件

【解决】idea启动spring MVC报错:一个或多个listeners启动失败Listener ClassNotFoundException,intellij-idea,spring,mvc,java,tomcat,idea

在容器运行的时候,会把Module Facet的 classes 文件复制到 Artifacts 配置的目录的WEB-INF下边,然后把 Module 的 Facet 里的资源文件目录复制到 Artifacts 目录里,再就是复制 lib 下的 jar 包到 WEB-INF 下,之后项目就可以启动了。

所以

Modules output path一定要等于Artifacts output directory加\WEB-INF\classes

参考:知乎 - idea中artifacts、facets、modules文章来源地址https://www.toymoban.com/news/detail-688690.html

到了这里,关于【解决】idea启动spring MVC报错:一个或多个listeners启动失败Listener ClassNotFoundException的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为何内存不够用?微服务改造启动多个Spring Boot的陷阱与解决方案

    在生产环境中我们会遇到一些问题,此文主要记录并复盘一下当时项目中的实际问题及解决过程。 最初系统上线后都比较正常风平浪静的。在系统运行了一段时间后,业务量上升后,生产上发现java应用内存占用过高,服务器总共64G,发现每个SpringBoot占用近12G的内存,我们项

    2024年02月05日
    浏览(54)
  • 解决IDEA编译/启动报错:Abnormal build process termination

    报错信息如下: 很纳闷一直用的好好的,早上一打开 IDEA 就报了这个红 buff,然后开始找解决方案,花了一个小时左右才解决,严重影响为公司做贡献。 网上有很多中方法,总结了几种常见的: 重新安装了 jdk(最好换个安装路径,配置环境变量),在 idea 项目结构中重新引

    2024年01月21日
    浏览(106)
  • 启动node服务报错Error: listen EACCES: permission denied 0.0.0.0:5000

    启动node服务报错: 解决方案: 将监听端口改成3000或者其他 修改后结果: 参考原文: Error: listen EACCES: permission denied_error when starting dev server: error: listen eacc-CSDN博客

    2024年02月22日
    浏览(81)
  • 【java】【已解决】IDEA启动报错:Lombok Requires Annotation Processing

    解决办法: 1、根据异常提示操作: 直接点击错误提示后面的蓝色标识【Enable】(小编点完了所以变灰色),此操作等价于下面的步骤: 【File】--【Settings】--【Build】--【Compiler】--【Annotation Processing】-- 勾选“enable Annotation Processing”  

    2024年02月07日
    浏览(52)
  • Kibana 启动报错 Error: listen EADDRNOTAVAIL: address not available 11.11.11.11:5601

    下载kibana链接 Past Releases of Elastic Stack Software | Elastic  选择与 Elasticsearch 版本对应的kibana,解压文件 1.修改config/kibana.yml          server.port : 5601 (默认端口)         server.host: 11.11.11.11(服务器ip地址)         elasticsearch.hosts: [http://11.11.11.11:9200]  服务器ip与ES对应的端口号

    2023年04月08日
    浏览(40)
  • Spring Mvc上传文件报错MissingServletRequestPartException:Required request part ‘file‘ is not present两种解决方案

    今天写了个SpringMvc上传文件的接口 运行后报错  附上接口代码  附上 请求截图   出现这种情况通常有两种情况: @RequestPart(\\\"file\\\") 里面的file和前端请求的name=\\\"file\\\"的值 不同 (见上图) 没有配置Spring MVC的文件上传解析器 很明显 这里第一种情况不满足  解决第二种情况的方法有

    2024年01月16日
    浏览(55)
  • 【异常解决】SpringBoot + Maven 在 idea 下启动报错 Unable to start embedded Tomcat(已解决)

    spring boot(v2.5.14) + maven + idea 启动项目 之前项目一直启动的好好的,都能正常运行。重启的时候突然就不能启动了。 报错日志如下: 根据网上搜索出以下几种情况: 1、JDK版本问题 2、IDEA环境变量问题 3、等等 以上原因都不是导致我本次项目启动不起来的真正问题。 根据项目

    2024年02月03日
    浏览(66)
  • idea批量启动多个微服务

    通常开发中会有很多个微服务,逐个启动较为麻烦,可以通过idea设置批量启动多个微服务,具体参见如下: 1、添加多个微服务 打开配置,如下: 2、将需要进行批量启动的微服务添加进Compound,如下: 3、添加完微服务后,给Compound取个别名 4、批量启动多个微服务 下拉选择

    2024年02月11日
    浏览(44)
  • 解决明明环境变量没问题,启动idea还是报错The environment variable JAVA HOME

         最近电脑坏了,公司给安排了新的工位,这个工位电脑上的idea版本是2019,由于2019使用翻译插件不能使用edge的翻译引擎,我就更换了2023,结果安装成功双击发现打不开,并报错The environment variable JAVA HOME (with the value of   %JAVA_HOME(你的环境变量路径)%)does not point to a valid jvM insta

    2024年02月08日
    浏览(105)
  • IDEA 使用 maven 搭建 spring mvc

    1.1 创建成功之后配置 Spring MVC 1.2 勾选 Spring MVC 2.1 更改web.xml配置 更改为 2.2 dispatcher-servlet.xml配置 注意 base-package 换成自己存放 Controller 包的路径 2.3 pop.xml 安装 spring-webmvc 然后点击 Apply,即可。 右上角 run 跑一下。 访问 /hello: 如果Tomcat 跑不起来,看看 Tomcat 控制台是不是出

    2024年02月15日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包