java里的ClassNotFoundException

2023-11-01

1.Caused by: java.lang.ClassNotFoundException: org.springframework.security.oauth2.common.util.RandomValueStringGenerator

ClassNotFoundException是一个非运行时异常,且常常出现在项目启动时。它的意思简单明了,就是指项目启动时,或者执行某一个功能时,需要的Class找不到。这个错误非常常见,个人已经遇到过多次,但是每次的原因都不一定相同,

笔者这次遇到在使用springboot2.0的security相关配置时,启动时服务器报错,报错信息如下

Caused by: java.lang.NoClassDefFoundError: org/springframework/security/oauth2/common/util/RandomValueStringGenerator
	at org.cloudfoundry.identity.uaa.util.CachingPasswordEncoder.<init>(CachingPasswordEncoder.java:71)
	at com.sap.ngom.datamigration.configuration.WebSecurityConfig.passwordEncoder(WebSecurityConfig.java:45)
	at com.sap.ngom.datamigration.configuration.WebSecurityConfig$$EnhancerBySpringCGLIB$$7b6105f3.CGLIB$passwordEncoder$2(<generated>)
	at com.sap.ngom.datamigration.configuration.WebSecurityConfig$$EnhancerBySpringCGLIB$$7b6105f3$$FastClassBySpringCGLIB$$70546e9b.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:361)
	at com.sap.ngom.datamigration.configuration.WebSecurityConfig$$EnhancerBySpringCGLIB$$7b6105f3.passwordEncoder(<generated>)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
	... 53 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.security.oauth2.common.util.RandomValueStringGenerator
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 65 common frames omitted

从最后打出的log来看,就是org.springframework.security.oauth2.common.util这个包下面的RandomValueStringGenerator类找不到,导致了这个错误,但是笔者在用oauth2相关配置之前,已经在maven里面引入了相关的依赖,如下:

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-oauth2</artifactId>
        </dependency>

且pom也没有报错,但是再次检查pom发现有下面这个现象:

因此判定解决这个unknown问题应该就能解决这个问题,准确的说还是依赖的问题导致需要的类找不到。最终通过修改pom中的依赖解决了这个问题。具体pom的修改这里不再展开。

2 spring-boot启动不了,报错 java.lang.NoClassDefFoundError: javax/servlet/ServletContext

pom配置文件中更改一下配置即可,

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
   <scope>provided</scope>
</dependency>

把scopt注释掉即可.

另一次遇到这个错误是在升级到spring boot2.1.5之后,解决办法:将dependency management里面的依赖去掉就没错误了。推测原因是升级会用到新的package,但是management里面指定的version没有这个class了。

参考 http://stackoverflow.com/questions/30374316/spring-boot-java-lang-noclassdeffounderror-javax-servlet-filter

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java里的ClassNotFoundException 的相关文章

随机推荐

  • PLC驱动伺服电机、步进电机共阳极接法-20230701

    由于工作需要 需要测试一台小型伺服电机是否好坏 记录一下接线方法 设备如下 信捷XDM 60T10 C PLC 安诺机器人 57AIM30一体化伺服电机 官网找了下技术手册 可以看到这是一款24V供电的小型伺服驱动器 供电可以用手头的这款P
  • 高通平台(8917/8937/8953...) secure boot 软件配置

    以下以8917平台为例 其他平台类似 找到对应配置文件即可 1 新建临时目录 mkdir tmp cd tmp 2 复制openssl文件到临时目录 cp LA UM LINUX android vendor qcom proprietar
  • Pytorch(GPU)详细安装教程

    如果你也是为了安装Pytorch的话 然后在安装CUDA时出现上述错误时 那么就有必要往下看了 我电脑小白 自己摸索安装 一点一点搜索 然后在我不断努力下终于安装成功 最近也是在学习深度学习 把自己安装软件过程中遇到的问题很大家分享一下 在
  • Apollo CyberRT编译问题‘Socket closed‘

    Apollo 编译问题 Socket closed apollo CyberRT编译错误 错误原因 解决方法 apollo CyberRT编译错误 Server terminated abruptly error code 14 error
  • Oracle函数 获得一个UUID

    通过Oracle函数返回一个UUID create or replace function F GET UUID p length in INT return varchar2 is Result varchar2 200 说明 返回一个指
  • GitHub入门教程

    一 注册GitHub账号 GitHub官网https github com 注册之后 登录注册的邮箱验证后注册完成 二 下载Git 有Mac Windows Linux版本的 下载地址 https git scm com downloads
  • js 提示crypto is not defined

    在使用python 调用js的时候 Crypto enc UTF8 parse 引用这个函数的时候提示这个模块没有 没定义 随即 npm install crypto 但是又报错 cryptois not found 换了一些源也没用 最后
  • r语言聚类分析_R语言ggtree画圆形的树状图展示聚类分析的结果

    今天的主要内容是实现下面这幅图 做完聚类分析通常可以选择 树形图来展示聚类分析的结果 之前公众号也分享过一篇文章 如果样本数不是很多 可以选择矩形的树状图 但是样本数如果比较多 比如今天一位公众号的读者留言说他有160多个样本 这样 矩形的
  • 微信小程序------联动选择器

    2019独角兽企业重金招聘Python工程师标准 gt gt gt picker 从底部弹起的滚动选择器 现支持五种选择器 通过mode来区分 分别是普通选择器 多列选择器 时间选择器 日期选择器 省市区选择器 默认是普通选择器 先来看看效
  • VM12+CentOS6.5+hadoop2.7.3 搭建hadoop完全分布式集群

    参考 http blog csdn net gamer gyt article details 51991893 一 安装VM 12 x 下载地址 链接 http pan baidu com s 1c2KA3gW密码 3r67 二 安装Ce
  • 移动端 - 搜索组件(suggest篇)

    这一篇博客是和 search input篇 衔接的 需要的可以看上文 移动端 搜索组件 search list篇 这里我们需要去封装这么一个组件 先说一下大致的方向 1 根据父组件传入的关键字数据发送请求获取后端数据 进行模板渲染 2 处理
  • Kettle中调用用户自定义的jar包

    在使用kettle过程中 有些功能是kettle不提供的 这样就需要想办法 不过kettle中的java代码可以解决大部分问题 下边就展示使用java代码组件调用自己编写的jar包的过程 1 创建java jar包 package test
  • GL分数阶微积分

    目录 预备公式 将积分和导数统一 p lt 0表示积分 p gt 0表示导数 整数阶和分数阶混合运算 分数阶和分数阶混合运算 预备公式 z
  • javascript的window.location方法

    Response Write 或 Response Write 退后操作 Response Write
  • 备案域名绑定服务器后 提示需要备案_小程序开发需要多少钱?

    现在越来越多的企业想通过微信小程序来宣传产品 为什么小程序那么火爆呢 奥晶科技为您解答 其优点不言而喻 1 小程序建设的成本比APP建设成本低 2 小程序能紧跟市场发展潮流 随时更新功能 3 小程序用户广泛 依托微信的亿万用户 接入方便 用
  • Linux下gdb调试工具的使用

    gdb是GNU开源组织发布的一个强大的Linux下的程序调试工具 gdb主要完成四个方面的功能 1 启动你的程序 可以按照你的自定义的要求随心所欲的运行程序 2 可让被调试的程序在你所指定的调试的断点处停住 断点可以是条件表达式 3 当程序
  • 在ubantu下cmake与make命令的简单使用

    ubantu下简单的使用cmake与make的使用 Step 1 新建一个可执行程序 首先确保你已经安装了cmake 和 g 如果没有安装 就 sudo apt get install cmake g 然后准备一个工作空间 并准备一些素材
  • 当大模型不是问题时,如何应对 LLM 的工程化落地挑战?

    几个月前 在 Thoughtworks 的内部 AIGC 研讨会里 我们一直达成了一系列一致观点 诸如于 如果没有 开源模型 降低企业应用 LLM 的成本 那么 LLM 会很快消亡 所以 我们相信开源 LLM LoRA 微调会成为企业的一种
  • Java AES加密解密报错 “java.security.InvalidKeyException: Illegal key size”

    项目中正常都会用到AES加密解密的问题 因为有的时候来不及设置公钥私钥 搞不对称加密 这种对称加密相对来说是比较方便的一个加密方式 与Base64比 AES相对来说破解难度要更高一些 同样你也可以往里面加盐 参与加密加强密码安全程度 但是问
  • java里的ClassNotFoundException

    1 Caused by java lang ClassNotFoundException org springframework security oauth2 common util RandomValueStringGenerator