新环境打包后运行报错java.lang.reflect.InvocationTargetException

这篇具有很好参考价值的文章主要介绍了新环境打包后运行报错java.lang.reflect.InvocationTargetException。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:

业务场景:MySQL数据库定期从Oracle数据库中同步少量数据,几分钟一次
版本信息:服务器jdk1.8.0_171,开发编译环境jdk1.8.0_181 idea2023.1.2
技术框架:用了maven管理依赖,未发现spring等框架痕迹


问题描述

将代码少量改动后,本地编译外加依赖打成jar包。
部署到远程服务器时,运行出错,系统中查看报错信息:

出错原因:
java.lang.reflect.InvocationTargetException

原因分析:

差不多的代码,原有jar包在别的服务器可运行,说明是环境问题,搜索发现

原因:
1、包冲突、有重复包或者缺少包
2、项目jdk和部署jdk版本不一样,导致InvocationTargetException异常信息返回一个空值,没有调用invoc里的重写消息方法。
3、映射文件发生改变
方案:
1、包:直接自己挨着查看就是了,但是一定要注意遇到重复包的时候你的系统究竟需要哪一个版本
2、jdk版本:
⑴、更换jdk包
⑵、用一个方法统一处理该异常
3、映射文件发生改变
在项目中有的地方是使用反射机制进行的操作,可能对于类进行了某些更改,科室映射文件没有更改,采用匿名就会出现这样的问题,解决办法要么更改映射文件,要不不要使用匿名调用。
原文链接

由此推测是jdk版本不一致的原因,尝试将开发环境与生产环境用同版本jdk


解决方案:

方案一:更换jdk重新打包再部署(未实验,方案二可行则本方案理论上也可行)
方案二:更换jdk后重新编译,把改动代码的编译后的class文件放入原有可运行jar包(注意修改IP端口账号密码等配置)

  1. 加装jdk
    从项目文件中找到171版本jdk进行安装,原有jdk无须理会,环境变量也不用修改
  2. ctrl+alt+shift+s打开项目配置
    project》sdk》add sdk 添加刚刚安装的jdk
  3. 点击project下方的module选项卡
    切换各个模块的sdk
  4. 点击platforms and settings
    选中原有的jdk,点击上方减号,从项目中去掉
    新添加的jdk保留不动,点击apply应用,然后确定
  5. maven插件重新打包,发送到服务器
  6. 用压缩软件打开新包,把修改过的class文件覆盖到旧包中保存
  7. 运行成功

重逢再回首之2023年8月3日

背景

业务场景:依旧是同步任务,定期夸库同步少量数据,这次完全是在开发环境中
版本信息:jdk1.8.0_171 idea2023.1.2 MySQL5.6
技术框架:springboot上的若依系统二开
数据库是三库结构,一个源数据库Oracle,一个中间库MySQL,一个业务库MySQL

问题出现之前,将master和第三数据源做过对换,系统能运行,但是当时没有调测任务能不能成功运行

问题描述

新写了一个同步任务,之前用的jdk1.8.0_171,能成功运行,这次突然不行了
报错信息:

09:32:24.902 [http-nio-6666-exec-13] DEBUG c.r.q.m.S.selectJobById - [debug,137] - ==>  Preparing: select job_id, job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark from sys_job where job_id = ?
09:32:24.903 [http-nio-6666-exec-13] DEBUG c.r.q.m.S.selectJobById - [debug,137] - ==> Parameters: 100(Long)
09:32:24.907 [http-nio-6666-exec-13] DEBUG c.r.q.m.S.selectJobById - [debug,137] - <==      Total: 1
用药分类字典===视图同步到业务库===开始
09:32:24.909 [quartzScheduler_Worker-2] ERROR c.r.q.u.AbstractQuartzJob - [execute,49] - 任务执行异常  -java.lang.reflect.InvocationTargetException: null
	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 com.ruoyi.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:61)
	at com.ruoyi.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:38)
	at com.ruoyi.quartz.util.QuartzDisallowConcurrentExecution.doExecute(QuartzDisallowConcurrentExecution.java:19)
	at com.ruoyi.quartz.util.AbstractQuartzJob.execute(AbstractQuartzJob.java:43)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: java.lang.NullPointerException: null
	at com.ruoyi.quartz.task.syncTask.drugTypeHisToLight(syncTask.java:63)
	... 10 common frames omitted
09:32:24.915 [quartzScheduler_Worker-2] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==>  Preparing: insert into sys_job_log( job_name, job_group, invoke_target, job_message, status, exception_info, create_time )values( ?, ?, ?, ?, ?, ?, sysdate() )
09:32:24.915 [quartzScheduler_Worker-2] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==> Parameters: 用药分类字典视图同步到业务库(String), DEFAULT(String), com.ruoyi.quartz.task.syncTask.drugTypeHisToLight(String), 用药分类字典视图同步到业务库 总共耗时:1毫秒(String), 1(String), java.lang.reflect.InvocationTargetException
	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 com.ruoyi.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:61)
	at com.ruoyi.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:38)
	at com.ruoyi.quartz.util.QuartzDisallowConcurrentExecution.doExecute(QuartzDisallowConcurrentExecution.java:19)
	at com.ruoyi.quartz.util.AbstractQuartzJob.execute(AbstractQuartzJob.java:43)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: java.lang.NullPointerException
	at com.ruoyi.quartz.task.syncTask.drugTypeHisToLight(syncTask.java:63)
	... 10 more
(String)
09:32:24.927 [quartzScheduler_Worker-2] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - <==    Updates: 1
09:32:24.938 [schedule-pool-2] DEBUG c.r.s.m.S.insertOperlog - [debug,137] - ==>  Preparing: insert into sys_oper_log(title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_location, oper_param, json_result, status, error_msg, cost_time, oper_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, sysdate())
09:32:24.939 [schedule-pool-2] DEBUG c.r.s.m.S.insertOperlog - [debug,137] - ==> Parameters: 定时任务(String), 2(Integer), com.ruoyi.quartz.controller.SysJobController.run()(String), PUT(String), 1(Integer), admin(String), null, /monitor/job/run(String), 127.0.0.1(String), 内网IP(String), {"jobGroup":"DEFAULT","jobId":100,"misfirePolicy":"0","params":{}}(String), {"msg":"操作成功","code":200}(String), 0(Integer), null, 16(Long)
09:32:24.970 [schedule-pool-2] DEBUG c.r.s.m.S.insertOperlog - [debug,137] - <==    Updates: 1

原因分析

推测还是老问题,jdk版本,重新改一下jdk到181,这次我学聪明了,只添加181,不删除171,因为这里搞得jdk会影响其他项目(奇怪,明明只是项目配置,按理说相互之间不能影响的)

当然,没有解决这个问题,就算是只保留一个181jdk也不行了,果然和预感一样,没这么简单。

再次观察控制台错误日志,发现同步任务可以执行,但是service方法里的第一个断点都没进(我用debug模式启动的),看来是框架service这边的问题,Java基础框架原理真的重要啊!
突然回想起来,有个mapper好像没加mapper注解,倒是很像这个问题,但是加了也不行,根本就没运行到这里。
但是啊,但是,这里还有个空指针异常,看来根本就没装配上这个service。

stackoverflow上有同时出现这两个异常的问题,但他是因为把自动注入的变量写成了静态的所以才出的问题,启发给我的点就是检查一下调用的service方法是否在接口中有定义,但是这个很明显不是,因为接口没有的话我就没法调用了。
在帖子里的评论有一个链接,讲了一些关于注解的东西,看了一点,有空再来看看

直觉告诉我,一定是哪里没有用框架组件(component、service、mapper等),或者是哪里没有用注解声明组件,但是之前检查出来了mapper注解漏了一个,别的就没再有了,查看定时任务类的上方,也是有注解的:

@Component("syncTask")

解决方案

既然定时任务这里注册组件了,那系统的定时任务配置,是不是应该也用组件来调用呢?
再次回到系统中,果然发现:
java.lang.reflect.invocationtargetexception: null,环境配置,java,开发语言
果然,是我写的调用目标写的不对,上边的都短我竟然没发现。
修改调用目标,写上从组件开始调用的任务,问题消失
java.lang.reflect.invocationtargetexception: null,环境配置,java,开发语言

插曲

因为项目的主要功能是同步,数据有点bug,本来应该是唯一的,源数据中有重复数据,这只能怪自己考虑不周。 在数据重复时,利用j8stream语法转换list为map时会报错:

16:44:02.853 [http-nio-6666-exec-1] INFO  o.a.c.c.C.[.[.[/] - [log,173] - Initializing Spring DispatcherServlet 'dispatcherServlet'
16:44:03.279 [http-nio-6666-exec-1] DEBUG c.r.q.m.S.selectJobById - [debug,137] - ==>  Preparing: select job_id, job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark from sys_job where job_id = ?
16:44:03.281 [http-nio-6666-exec-1] DEBUG c.r.q.m.S.selectJobById - [debug,137] - ==> Parameters: 100(Long)
16:44:03.285 [http-nio-6666-exec-1] DEBUG c.r.q.m.S.selectJobById - [debug,137] - <==      Total: 1
用药分类字典===视图同步到业务库===开始
16:44:03.306 [quartzScheduler_Worker-1] INFO  c.r.f.d.DynamicDataSourceContextHolder - [setDataSourceType,26] - 切换到MASTER数据源
16:44:03.311 [quartzScheduler_Worker-1] INFO  c.r.f.d.DynamicDataSourceContextHolder - [setDataSourceType,26] - 切换到SLAVE数据源
16:44:03.325 [schedule-pool-1] DEBUG c.r.s.m.S.insertOperlog - [debug,137] - ==>  Preparing: insert into sys_oper_log(title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_location, oper_param, json_result, status, error_msg, cost_time, oper_time) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, sysdate())
16:44:03.337 [schedule-pool-1] DEBUG c.r.s.m.S.insertOperlog - [debug,137] - ==> Parameters: 定时任务(String), 2(Integer), com.ruoyi.quartz.controller.SysJobController.run()(String), PUT(String), 1(Integer), admin(String), null, /monitor/job/run(String), 127.0.0.1(String), 内网IP(String), {"jobGroup":"DEFAULT","jobId":100,"misfirePolicy":"0","params":{}}(String), {"msg":"操作成功","code":200}(String), 0(Integer), null, 47(Long)
16:44:03.343 [schedule-pool-1] DEBUG c.r.s.m.S.insertOperlog - [debug,137] - <==    Updates: 1
16:44:03.996 [quartzScheduler_Worker-1] INFO  c.a.d.p.DruidDataSource - [init,996] - {dataSource-2} inited
16:44:03.996 [quartzScheduler_Worker-1] DEBUG c.r.t.m.V.selectVDrugTypeList - [debug,137] - ==>  Preparing: select DRUG_TYPE_CODE, DRUG_TYPE_NAME from V_SW_DRUG_TYPE
16:44:04.024 [quartzScheduler_Worker-1] DEBUG c.r.t.m.V.selectVDrugTypeList - [debug,137] - ==> Parameters: 
16:44:04.199 [quartzScheduler_Worker-1] DEBUG c.r.t.m.V.selectVDrugTypeList - [debug,137] - <==      Total: 500
16:44:04.200 [quartzScheduler_Worker-1] INFO  c.r.f.d.DynamicDataSourceContextHolder - [setDataSourceType,26] - 切换到MASTER数据源
16:44:04.201 [quartzScheduler_Worker-1] DEBUG c.r.s.m.S.selectDictDataList - [debug,137] - ==>  Preparing: select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark from sys_dict_data WHERE dict_type = ? order by dict_sort asc
16:44:04.201 [quartzScheduler_Worker-1] DEBUG c.r.s.m.S.selectDictDataList - [debug,137] - ==> Parameters: drug_type(String)
16:44:04.227 [quartzScheduler_Worker-1] DEBUG c.r.s.m.S.selectDictDataList - [debug,137] - <==      Total: 501
16:44:04.234 [quartzScheduler_Worker-1] ERROR c.r.q.u.AbstractQuartzJob - [execute,49] - 任务执行异常  -java.lang.reflect.InvocationTargetException: null
	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 com.ruoyi.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:61)
	at com.ruoyi.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:33)
	at com.ruoyi.quartz.util.QuartzDisallowConcurrentExecution.doExecute(QuartzDisallowConcurrentExecution.java:19)
	at com.ruoyi.quartz.util.AbstractQuartzJob.execute(AbstractQuartzJob.java:43)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: java.lang.IllegalStateException: Duplicate key com.ruoyi.common.core.domain.entity.SysDictData@1e597602[
  dictCode=1575
  dictSort=0
  dictLabel=曲克芦丁片
  dictValue=15070042666666
  dictType=drug_type
  cssClass=<null>
  listClass=default
  isDefault=N
  status=1
  createBy=
  createTime=Thu Aug 03 16:24:04 CST 2023
  updateBy=<null>
  updateTime=<null>
  remark=<null>
]
	at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133)
	at java.util.HashMap.merge(HashMap.java:1254)
	at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320)
	at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
	at com.ruoyi.system.service.impl.SysDictDataServiceImpl.compareDictData(SysDictDataServiceImpl.java:193)
	at com.ruoyi.system.service.impl.SysDictDataServiceImpl.getHisDrugType(SysDictDataServiceImpl.java:156)
	at com.ruoyi.system.service.impl.SysDictDataServiceImpl$$FastClassBySpringCGLIB$$88d3e8dd.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
	at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
	at com.ruoyi.framework.aspectj.DataSourceAspect.around(DataSourceAspect.java:49)
	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.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)
	at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)
	at com.ruoyi.system.service.impl.SysDictDataServiceImpl$$EnhancerBySpringCGLIB$$4ab8d42f.getHisDrugType(<generated>)
	at com.ruoyi.quartz.task.syncTask.drugTypeHisToLight(syncTask.java:63)
	... 10 common frames omitted
16:44:04.237 [quartzScheduler_Worker-1] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==>  Preparing: insert into sys_job_log( job_name, job_group, invoke_target, job_message, status, exception_info, create_time )values( ?, ?, ?, ?, ?, ?, sysdate() )
16:44:04.238 [quartzScheduler_Worker-1] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==> Parameters: 用药分类字典视图同步到业务库(String), DEFAULT(String), syncTask.drugTypeHisToLight(String), 用药分类字典视图同步到业务库 总共耗时:931毫秒(String), 1(String), java.lang.reflect.InvocationTargetException
	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 com.ruoyi.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:61)
	at com.ruoyi.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:33)
	at com.ruoyi.quartz.util.QuartzDisallowConcurrentExecution.doExecute(QuartzDisallowConcurrentExecution.java:19)
	at com.ruoyi.quartz.util.AbstractQuartzJob.execute(AbstractQuartzJob.java:43)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: java.lang.IllegalStateException: Duplicate key com.ruoyi.common.core.domain.entity.SysDictData@1e597602[
  dictCode=1575
  dictSort=0
  dictLabel=曲克芦丁片
  dictValue=15070042666666
  dictType=drug_type
  cssClass=<null>
  listClass=default
  isDefault=N
  status=1
  createBy=
  createTime=Thu Aug 03 16:24:04 CST 2023
  updateBy=<null>
  updateTime=<null>
  remark=<null>
]
	at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133)
	at java.util.HashMap.merge(HashMap.java:1254)
	at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320)
	at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
	at com.ruoyi.system.service.i(String)
16:44:04.249 [quartzScheduler_Worker-1] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - <==    Updates: 1

注意,这里面同样包含本文主题中的错误,但是原因里面也有提到,那就是Duplicate key,这算是另一种原因,对重复数据做好逻辑处理,去重就好了。文章来源地址https://www.toymoban.com/news/detail-761085.html

到了这里,关于新环境打包后运行报错java.lang.reflect.InvocationTargetException的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java.lang.reflect.InaccessibleObjectException

    低版本springboot应用使用高版本JDK报以下异常: Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not \\\"opens java.lang\\\" to un

    2024年04月28日
    浏览(17)
  • jdk 8以上版本报错 :Unable to make field protected java.lang.reflect.InvocationHandler java.lang.reflect...

    具体报错信息: Unable to make field protected java.lang.reflect.InvocationHandler java.lang.reflect.Proxy.h accessible: module java.base does not \\\"opens java.lang.reflect\\\" to unnamed module @7674f035 需要设置启动参数 --add-opens java.base/java.lang.reflect=ALL-UNNAMED

    2024年02月20日
    浏览(50)
  • 已解决java.lang.reflect.InvocationTargetException

    已解决java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException是Java反射机制中的一个异常类,它通常是由于被调用的方法或构造函数抛出了异常而引发的。 下滑查看解决方法 要解决java.lang.reflect.InvocationTargetException异常,我们需要

    2024年02月04日
    浏览(16)
  • 关于java.lang.reflect.InaccessibleObjectException异常

    在使用javassist插件的时候,jdk版本大于8的时候没有对应的包会导致出现以下异常 java.lang.reflect.InaccessibleObjectException   点击后选择Edit Configurations...  修改如下信息即可 --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.net.util=ALL-UNNAMED  修改后记得将构造选择为对应的内容

    2024年02月13日
    浏览(18)
  • sentinel熔断报java.lang.reflect.UndeclaredThrowableException

    背景:内部要进行应用jdkspringboot升级,因此也需要将Spring Cloud Hystrix 替换成alibaba sentinel。 依赖 开启Feign对Sentinel的支持 sentinel官方文档 当达到熔断条件时,则抛出以下错误信息 解决方案:在FeignClient上,配置自定义fallback熔断降级处理方法 JobApplyRestFallback类  至此,java.la

    2024年02月10日
    浏览(16)
  • java.lang.reflect.InvocationTargetException:null报未知异常

    在项目上线过程中,突然出现大量异常信息,堆栈信息如下: 此堆栈信息竟不同以往的报错,可以定位到项目的哪一行代码,只能看到是空指针异常,在经过日志中的SQL语句比对之后,初步确认到哪一行代码的空指针异常,但是此代码没有改动,究竟是什么原因导致的报错呢

    2024年02月04日
    浏览(17)
  • java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType解决方案

    异常:java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType 类型转换异常 主要是因为泛型使用不规范导致的错误,在MVP抽取中,我们需要懂得许多关联在一起的流程! 意思是Class类型不能转换成ParameterizedType类型,多出现于数据解析,泛型使用。先写的泛型,导致传回来的是

    2024年02月15日
    浏览(22)
  • Exception in thread “main“ java.lang.reflect.InvocationTargetException

    idea中app后台本地运行成功,但是打成jar包后运行,失败报错如下 原因分析:jar包运行存在问题,项目中有dockerfile文件,直接执行java -jar会报错,因为dockerfeil文件中配置了启动jar包的命令:    

    2024年02月08日
    浏览(24)
  • Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.C

    最近在学习JDK17的时候遇到这么一个问题,springBoot启动失败,日志如下: 原因:这是由于 JDK 8 中有关反射相关的功能自从 JDK 9 开始就已经被限制了,为了兼容原先的版本,需要在运行项目时添加  --add-opens java.base/java.lang=ALL-UNNAMED  选项来开启这种默认不被允许的行为。 解

    2024年02月03日
    浏览(15)
  • 已解决java.lang.reflect.UndeclaredThrowableException异常的正确解决方法,亲测有效!!!

    已解决java.lang.reflect.UndeclaredThrowableException异常的正确解决方法,亲测有效!!! java.lang.reflect.UndeclaredThrowableException java.lang.reflect.UndeclaredThrowableException是Java反射机制中的异常类,表示在反射调用中发生了未声明的异常。 下滑查看解决方法 通常情况下,java.lang.reflect.Undecla

    2024年02月15日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包