当前位置: 首页 > article >正文

idea启动服务报错Application run failed

现象是这样,在宝兰德部署报错: NoClassDefFoundError: org/apache/tomcat/util/codec/binary/Base64
本地启动报错:Application run failed:Failed to parse configuration class [***.WebApplication]; nested exception is java.lang.IllegalStateException:Failed to introspect annotated methods on class org.springframework.boot.web.servlet.support.SpringBootServletInitializer

以及从Caused by : java.lang.ClassNotFOUNDeXCEPTION : JAVAX.SERVLET.
java.lang.ClassNotFoundException : Javax.servlet.ServletContext

下面是报错的部分截图
在这里插入图片描述
‌Maven中的scope元素用于定义依赖项的作用范围,它决定了依赖项在项目构建的不同阶段(如编译、测试、运行)的可用性。‌

Maven中的Scope类型及其用途
‌compile‌:这是默认值,表示被依赖包需要参与当前项目的编译、测试和运行阶段,通常会被包含在最终的打包文件中。例如,JUnit库通常使用compile范围,因为它需要在编译和运行时都可用‌12。

‌provided‌:这种范围的依赖项在编译和测试阶段可用,但在运行时不需要。通常用于服务器提供的库,如Servlet API,因为服务器已经提供了这些库,不需要在应用中再次包含‌23。

‌runtime‌:这种范围的依赖项在运行时可用,但不参与编译。适用于那些在编译时不需要但在运行时必须的库,如JDBC驱动。这种范围可以减少编译时间并避免不必要的依赖‌23。

‌test‌:这种范围的依赖项仅在测试阶段可用,不会被包含在最终的打包文件中。适用于测试框架和测试相关的库‌23。

‌system‌:这种范围的依赖项从本地系统路径获取,通常用于那些不在Maven仓库中的库。需要指定本地路径‌23。

‌import‌:这种范围用于POM继承,允许一个POM文件继承另一个POM文件中的依赖管理配置‌2。

Scope的使用场景和示例
‌compile‌:适用于所有阶段需要的库,如JUnit。
‌provided‌:适用于服务器提供的库,如Servlet API。
‌runtime‌:适用于运行时需要的库,如JDBC驱动。
‌test‌:适用于测试阶段的库,如JUnit测试框架。
‌system‌:适用于本地系统路径的库,如某些特定硬件相关的库。
‌import‌:适用于POM继承,简化依赖管理。

本地环境启动的修改scope

修改spring-boot-starter-tomcat的scope属性

将上面图片中的scope这行注释掉。然后刷新一些maven,就可以启动了。
这里是因为宝兰德打包的时候需要排除这个jar包,但是idea里面用的是tomcat,所以不能排除这个jar包。对于打包到宝兰德中间件的时候,需要这个中间件单独的jar包,需要用宝兰德的那个jar包来替换这个jar包。(也就是将这个包排除掉,然后再引入宝兰德的jar包。)

打包的时候要排除tomcat的一些包的依赖,但是没有去干净。对于引用的其它的jar包或者本地的maven项目要把jar包排除干净。


http://www.kler.cn/a/404627.html

相关文章:

  • Nacos实现IP动态黑白名单过滤
  • AI赋能:PPT制作的创意革命
  • Kubernetes 安装配置ingress controller
  • C指针之舞——指针探秘之旅(2)
  • 大语言模型中ReLU函数的计算过程及其函数介绍
  • 基于YOLOv8深度学习的汽车车身车损检测系统研究与实现(PyQt5界面+数据集+训练代码)
  • 目标驱动学习python动力
  • MySQL创建和管理触发器
  • (附项目源码)Java开发语言,215 springboot 大学生爱心互助代购网站,计算机毕设程序开发+文案(LW+PPT)
  • 常用命令集
  • vue2中引入cesium全步骤
  • MongoDB调优利器:掌握性能分析工具mongostat
  • 字节跳动青训营刷题笔记14
  • Spark 分布式计算中网络传输和序列化的关系(二)
  • leetcode - 2516. Take K of Each Character From Left and Right
  • 2024年亚太C题第二版本二问题1求解过程+代码运行以及问题2-4超详细思路分析
  • 第三百三十节 Java网络教程 - Java网络UDP服务器
  • uni-app快速入门(十)--常用内置组件(下)
  • 查看docker日志 journalctl -u docker.service
  • Modern Effective C++ Item 11:优先考虑使用deleted函数而非使用未定义的私有声明
  • Webserver回顾
  • 【AI知识】两类最主流AI应用(文生图、ChatGPT)中的目标函数
  • React第五节 组件三大属性之 props 用法详解
  • ts: 定义一个对象接收后端返回对象数据,但是报错了有红色的红线为什么
  • 安全测试必学神器 --BurpSuite 安装及使用实操
  • Go 工具链详解(八):go telemetry