org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[manageApp]时发生异常

Tomcat部署工件失败

今天学习文件上传,遇到了一些问题。

具体问题:

为了实现文件上传至服务器,将tomcat的部署修改了,学习到:
Idea部署项目的两种方式:

  • war模式,将项目以war包的形式上传真实服务器的webapps目录中;
  • war exploded模式,仅仅是目录的映射,就相当于tomcat在项目源文件夹中启动一样。

于是将tomcat中原来部署的war exploded改为war,但是随即就出现了下面的问题:
具体情况如下:

// 11-Oct-2022 22:32:11.984 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[manageApp]时发生异常
	java.lang.IllegalStateException: 启动子级时出错
		at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:729)
		at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)
	    ......
	Caused by: org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Demo_war]]
	......
	Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException
	......
	Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileUploadException
	......
11-Oct-2022 22:32:11.985 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[createStandardContext]时发生异常
	javax.management.RuntimeOperationsException: 调用方法[manageApp]时发生异常
	......
	Caused by: java.lang.IllegalStateException: 启动子级时出错
	......
	Caused by: org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Demo_war]]

工件 Demo:war: 部署工件时出错。请参阅服务器日志了解详细信息
	Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException
	......
	Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileUploadException
	......

很迷惑,以前tomcat部署基本上不会出错,遇事不决靠百度,搜索到一些解决办法。

搜索到的一些解决办法

  • 因为Webservlet代码地址填写错误导致,可能是:

在这里插入图片描述
这里的斜杠/ 没有加上或者是这个路径已经被定义过了。也可以在web.xml配置文件中查看修改。

  • 因为是maven项目,也搜到说是导包错误以及版本错误之类的
  • 另外,也有说是函数内部错误导致的

具体解决方案

最后总结上一篇文章的出错点,感觉可以问题还是出在maven上,于是试了试手动导包到工件(应该是这么表述的吧),在文件-项目结构-工件中操作,如下图:
在这里插入图片描述
还是这个原因,把这两个包拉过来到lib下点击应用就OK了。
这里我先弄到war exploded里,然后能成功跑起来,然后再创建的war,再在tomcat中配置工件就部署成功了。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
根据提供的引用内容,org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[createStandardContext]时发异常异常信息显示是由于无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/springmvc]] 导致的。 这个异常可能是由于一些配置问题或者依赖关系导致的。要解决这个异常,可以尝试以下几个方法: 1. 检查项目的配置文件,确保所有的配置都正确,并且没有缺少任何必要的配置项。特别是要检查与该组件相关的配置项,如StandardEngine、StandardHost和StandardContext的配置。 2. 检查项目的依赖关系,确保所有的依赖库都已正确引入,并且版本匹配。特别是要检查是否引入了org.apache.poi JAR包以及其他需要的依赖库。 3. 检查项目的代码逻辑,特别是与该组件相关的代码段。确保代码没有错误并且逻辑正确。 4. 如果以上方法都没有解决问题,可以根据异常信息中提供的堆栈跟踪来定位到具体的错误位置,进一步排查问题。例如,在异常信息中提到的java.lang.IllegalStateException异常,可以检查相关的容器添加操作,如ContainerBase.addChildInternal和ContainerBase.addChild方法。 综上所述,要解决org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[createStandardContext]时发生的异常,您可以检查项目的配置、依赖关系和代码逻辑,并根据异常堆栈跟踪进一步排查问题。 #### 引用[.reference_title] - *1* *3* [org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[manageApp]时发异常](https://blog.csdn.net/whenstudyswim/article/details/128440930)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [org.apache.poi jar包](https://download.csdn.net/download/vampire_ddd/10477496)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值