首页 > 其他分享 >【解决】idea启动spring MVC报错:一个或多个listeners启动失败Listener ClassNotFoundException

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

时间:2023-08-25 15:22:13浏览次数:45  
标签:web ClassNotFoundException 启动 Artifacts Modules Module Facet 报错 output

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

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

根本原因是:

Modules output path和Artifacts output directory不匹配

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







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

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

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

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

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

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

Artifacts表述了maven要如何打包

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

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




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

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

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

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

在容器运行的时候,会把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



标签:web,ClassNotFoundException,启动,Artifacts,Modules,Module,Facet,报错,output
From: https://www.cnblogs.com/yunmuq/p/17657045.html

相关文章

  • 电脑上有别人的账号,git代码下拉报错403
    换的别人的电脑,然后有别人的账号,去下拉代码有问题报错403 然后去看git账户信息发现没有发现问题$gitconfig--list方法一,重置本机保留的gitconfig信息。解决方法:重置本机保留的gitconfig信息。命令:gitconfig--system--unsetcredential.helper然后再次clone的时候......
  • SSM整合启动项目失败
    项目架构:Spring5+SpringMVC+Mybatis项目服务器:Tomcat9.0.71整合SSM启动时,启动失败,Tomcat控制台报错:Artifact“xxx-xxxx“:warexploded:部署工件时出错。请参阅服务器日志了解详细信息查看Tomcat日志:严重[RMITCPConnection(3)-127.0.0.1]org.apache.catalina.core.Stan......
  • 直接从命令行启动xilinx/SDK并打开工程
    编写一个启动脚本s19sdk.sh,内容如下:#!/bin/bashsource/opt/Xilinx/SDK/2019.1/settings64.shxsdk-workspace~/work/myproject/myproject.sdk&然后增加执行权限后运行,chmoda+xs19sdk.sh./s10sdk.sh参考:https://www.coder.work/article/7965726......
  • Tomcat启动黑窗口一闪而过
    Tomcat启动黑窗口一闪而过一、解决方案首先要确定Tomcat为什么会一闪而过,那么就要看黑窗口一闪而过的时候显示了什么。cmd命令进入Tomcat的bin目录,输入startup.bat(若已配置环境,可直接输入指令),回车。这样黑窗口就不会关闭,而是会显示出正常信息或者报错信息。如果你的信息和下图......
  • 大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC——调度器dstart的ssh启动
     根据华为的官方文档:https://support.huawei.com/enterprise/zh/doc/EDOC1100228705/d1f5a239#ZH-CN_TOPIC_0000001212004449     可以知道,HPC的启动方式如果不指定--mcaplm_rsh_agent方式启动,那么默认的启动方式为ssh方式启动MPI,但是实际操作后发现不可行,报错:s......
  • 国标视频平台EasyGBS视频能力平台Linux版内核启动报错端口占用的问题解决方案
    EasyGBS国标视频云服务是基于国标GB/T28181协议的视频能力平台,可实现的视频功能包括:实时监控直播、录像、检索与回看、语音对讲、云存储、告警、平台级联等功能。平台部署简单、可拓展性强,支持将接入的视频流进行全终端、全平台分发,分发的视频流包括RTSP、RTMP、FLV、HLS、WebRTC等......
  • android studio启动时关闭上次打开的项目
    每次androidstudio启动就会自动打开上次关闭的项目然后电脑有时候会很卡解决办法:......
  • android studio关闭启动时indexing
    这是个插件,googleappindexing,在setting中搜索到它,关闭就ok了。我是在androidstudio2.1验证的这是个插件,googleappindexing,在setting中搜索到它,关闭就ok了。我是在androidstudio2.1验证的......
  • Resolving Android Dependencies 时报错 "Could not create an instance of type org.
     解决方案: Edit->Preferences->ExternalTools,在打开的窗口中,删除底部的复选框并给出相同的路径! ......
  • Red Hat8.8 安装 Oracle19C,配置开机自动启动,创建数据库,调整内核参数
    1.下载rpm包oracle-database-ee-19c-1.0-1.x86_64.rpm2.上传rpm包上传下载的rpm包到响应目录,例如:/home3.安装依赖上传compat-libcap1-1.10-7.el7.x86_64.rpm和compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm包的相应目录例如:/home安装上传的两个rpm包#安......