JavaWeb以Maven整合Mybatis报错java.lang.NoClassDefFoundError(Web项目未能完全加载Maven下的依赖)

news2024/12/23 22:33:45

问题描述

        为完成学校课程一个javaweb的demo,想着对数据库的访问能够更加简洁,所以用了Mybatis。因为之前有过Springboot整合Mybatis经验,所以本以为事情会简单。在Junit的测试类中是能够正常对数据库进行CRUD。在Javaweb的Servlet类中调用数据访问的 接口编译没错。但实际对servlet发起请求时报错。-->运行时报错。

 

创建一个数据的访问DAO做为单例类。 通过类静态方法返回该单例对象。userMapper单一数据访问的实例。


public class OnlyStatement {

    
    private  OnlyStatement(){


    }


    private  static  class  RealMapper{

            private   static  userMapper userMapper;
        static {


            String resource = "mybatis-config.xml";
            InputStream inputStream = null;
            try {
                inputStream = Resources.getResourceAsStream(resource);
            } catch (IOException e) {
                e.printStackTrace();
            }
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);


            //获取SqlSession对象

            SqlSession session = sqlSessionFactory.openSession(true);


            //获取Mapper接口代理对象
                     userMapper = session.getMapper(userMapper.class);
        }






    }




     public  static  userMapper  MYgetInstance() {

        return RealMapper.userMapper;
     }


}

 

查看日志是在加载资源时  java.lang.NoClassDefFoundError

 

通过target(项目编译的生成结果)查看Mybatis和mysql的依赖jar是否已经添加到lib,这里就有个问题:

为什么maven的其他依赖的jar包(如Servlet ,JSTL)都能被添加到lib,而mysql和mybatis的jar包却无法添加?

产生该问题时的target生成目录下的lib目录: (缺失)

 我们用Maven来管理web项目的目的是为了添加Jar包可以直接以添加依赖的方式进行,而不需要手动去相应的网站下载,同时能够自动导入到当前项目。

解决方法

第一种方法:手动添加jar包 

此时重新部署

 

查看日志无报错,demo正常运行。

第二种方法:

自己捣鼓配置成功的一个方法:

然后重新编译部署,最终也使得web项目成功运行。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/21180.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

应用层协议之DNS、DHCP

运输层为应用进程提供了端对端的通信服务,但不同的网络应用的应用进程之间,还需要有不同的通信规则。因此在运输层协议之上,还需要有应用层协议。 应用层中有这些常见的协议 域名系统:DNS动态主机配置:DHCP超文本传输…

数据结构之栈

文章目录前言一、栈二、栈应该如何实现1.顺序表or链表2.静态or动态三、栈的实现1.栈的定义2.接口(声明)3.接口的实现初始化栈销毁栈获取栈顶元素获取栈中有效元素个数入栈出栈检测栈是否为空4.主函数(测试)总结前言 今天这篇文章…

云原生系列 二【轻松入门容器基础操作】

✅作者简介: CSDN内容合伙人,全栈领域新星创作者,阿里云专家博主,华为云云 享专家博主,掘金后端评审团成员 💕前言: 最近云原生领域热火朝天,那么云原生是什么?何为云原生…

excel的frequency函数的用法和实例

目录 1.语法和用法 (1)语法:frequency(data_array,bins_array) (2)用法:用于统计指定分组区间的频率,以已裂垂直数组返回一组数据的频率分布。 2.实例 (1)分组统计各…

【WxPusher消息推送平台】js版对接发送消息教程实战案例,JavaScript版调用axios发送消息实例。保姆级教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、WxPusher消息推送平台是什么1、注册自己的WxPusher2、扫码关注应用,获得你的UID二、使用步骤1.封装axios方法2.编写发送消息方法总结前言 WxPus…

Thymeleaf th:insert、th:replace、th:include的使用

参考资料 八、模板布局(Template Layout)Thymeleaf中th:include、th:replace、th:insert、th:fragment用法及区别Thymeleaf参考手册(八):模板布局 目录一. 前期准备二. th:insert三. th:include四. th:replace一. 前期…

【云原生-Docker】常用的 Docker Compose 配置项

🍁博客主页:👉不会压弯的小飞侠 ✨欢迎关注:👉点赞👍收藏⭐留言✒ ✨系列专栏:👉Docker学习专栏 ✨学习社区:👉不会压弯的小飞侠 ✨知足上进,不负…

Animation Rigging 如何让你的Avatar人物更具灵活性

文章目录🎈 简介🎈 基本组件🎈 应用Aim ConstraintTwo Bone IK Constraint🎈 简介 Animation Rigging是Unity官方发布的可以对Avatar人物骨骼进行约束的工具,已经有稳定的经过验证的Vertified包体,可以将其…

认知无线电网络的服务质量——蜻蜓算法的应用(Matlab代码实现)

🍒🍒🍒欢迎关注🌈🌈🌈 📝个人主页:我爱Matlab 👍点赞➕评论➕收藏 养成习惯(一键三连)🌻🌻🌻 🍌希…

【深入浅出Spring6】第七期——使用JDBC模板与代理模式

一、JDBCTemplate JdbcTemplate 是Spring提供的一个JDBC模板类,是对JDBC的封装,简化JDBC代码Spring也继承了其他持久化的框架,比如 MyBatis 等本篇我们从简单的增删改查角度介绍如何使用Spring提供的这个模板类 $ 准备工作 创建一个新的模块…

livekit 简单上手教程

什么是livekit? livekit是一个开源的webrtc项目,基于pion实现了SFU架构的go程序。 它主要有以下几个特性: 可以水平扩展的sfu架构。有完整的sdk程序接口供开发人员使用。基于JWT进行身份验证,可与大部分系统进行权限集成。内置Tur…

SpringCloud学习笔记 - 分布式配置中心 - config

1. 简介 Spring Cloud Config是用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持的。 它由服务端和客户端构成: 其中,服务端也称为分布式配置中心,是一个独立的微服务应用,用来连接配置仓库、为客户端提供支持…

32.nacos配置文件中心,使用实例(springcloud)

1.为什么使用Nacos 配置文件中心1.如果在生产情况下,修改了配置文件,项目需要下架,重新打包,重新发布。这在单机模式下影响不会太大,但如果过在一个集群项目中就会照成很大的影响,需要停掉多个项目。因此&a…

字节研发之道

前言 字节的迅速崛起缔造了一个互联网的神话,堪称火箭般的蹿升。当阿里来到第十八个年头时,员工人数还不足6万。老牌互联网腾讯现在也不过11万左右人数。但字节发展到七个年头时,人数就突破了10万。曾经入职阿里是一票难求,但现在…

基于51单片机的音乐盒播放器proteus仿真

资料编号:092 下面是相关功能视频演示: 92-基于51单片机的音乐盒播放器proteus仿真(源码仿真全套资料)功能介绍:使用51单片机,采用蜂鸣器进行音乐播放,提供了音乐代码生成器软件,可…

JavaWeb运行环境安装教程以及各个安装包

文章目录安装包下载安装教程一、JDK安装1、下载2、安装3、配置环境4、验证环境配置二、IDEA安装下载链接三、MySQL安装1、下载2、安装四、Navicat安装五、Tomcat安装1、下载2、环境配置3、修改编码4、启动六、Maven安装1、下载2、环境配置3、新建本地仓库4、修改镜像5、添加IDE…

Design Compiler工具学习笔记(1)

本人做过FPGA设计的项目,后面想转 IC 设计方向。现在从 DC 工具的使用开始学起,DC 是新思科技的EDA软件,具体的安装见下面的文章: Synopsys EDA Tools 安装问题记录https://blog.csdn.net/qq_43045275/article/details/127630241…

5G无线技术基础自学系列 | CloudRAN架构

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 5G在核心网实现云化之后,更…

2.旋转的骰子(1)

1.动画——旋转的骰子 我们想用纯html 和CSS, 做一个旋转的筛子,骰子要有立体感,每个面上要有圆点,表示点数,并且骰子可以原地旋转。 2.分析需求——庖丁解牛

【DELM回归预测】基于matlab多元宇宙优化算法改进深度学习极限学习机数据回归预测【含Matlab源码 2230期】

⛄一、多元宇宙优化算法 MVO是Seyedali Mirjalili受到多元宇宙理论的启发提出来的元启发式优化算法。主要根据多元宇宙理论的3个主要概念-白洞、黑洞和虫洞,来建立数学模型。 MVO算法中的可行解对应宇宙,解的适应度对应该宇宙的膨胀率,在每…