【错误解决】
文章平均质量分 57
记录日常工作中遇见的一些bug问题。
Mr.小朱同学
Java 开发工程师,从事 Web 应用程序的研发,擅长 Spring、SpringBoot 等技术。
热爱编程,业余时间学习新知识,通过 CSDN 记录学习心得和笔记内容。
展开
-
Jasper studio报表工具中,如何判断subDataSource()子报表数据源是否为空
今天在处理一个有关Jasper Studio报表模板制作的线上问题,需要根据某个报表子数据源是否为空,来决定对应的组件是否显示,找了好久的资料都没有实现,最后找到一种解决办法。就是通过自定义变量,然后变量的取值是来自子报表数据源,判断子报表数据源是否为空即可,具体的解决方案,查看下面详细内容。到此,Jasper studio报表工具中,如何判断subDataSource()子报表数据源是否为空的问题就解决啦。原创 2024-07-01 19:12:20 · 331 阅读 · 0 评论 -
Jasper Studio制作报表,预览时候出现死循环,一直渲染页面,total pages无限渲染
最近遇到一个jasper报表线上预览出现死循环的问题,实施人员反馈,线上生产环境中,使用某个功能显示pdf的时候,出现了接口超时问题,在这个项目中,我们使用的是JasperReports报表来生成PDF的,所以需要根据jasper模板进行渲染。因为jasper报表渲染卡死,处于死循环的状态,一直在无限渲染page页面,从而导致程序无法执行下去,超过30s之后,前端界面就提示接口超时了。到此,Jasper Studio制作报表,预览时候出现死循环,一直渲染页面,total pages无限渲染的问题就解决啦。原创 2024-06-18 15:14:23 · 314 阅读 · 0 评论 -
JDBC通过ParameterMetadata获取参数元数据信息,报错:Parameter metadata not available for the given statement
JDBC通过ParameterMetadata获取参数元数据信息,报错:Parameter metadata not available for the given statement的问题就解决啦。在数据库链接地址url里面,添加generateSimpleParameterMetadata=true的参数信息。大概的意思是:参数元数据信息对于被给的语句不可用。原创 2024-06-17 16:42:01 · 213 阅读 · 0 评论 -
JasperReports渲染报表时候,报错:Error loading object from InputStream.invalid stream header: 3C3F786D
我想了下可能出现这个问题的原因,因为我在Jasper Studio报表工具里面是可以正常预览的,所以这就让我感到奇怪了。于是,我就是使用排除法,先渲染一部分,看看是否可以正常,先将子报表去掉,只渲染最基础的文本信息,去掉子报表之后重新预览,是可以正常显示的。通过这个步骤,也就可以知道,报错是因为子报表这块内容有问题,而其还是流读取失败,既然要读取流,那一定是读取报表文件导致,于是我就看了下Subreport子报表的文件路径,果然,子报表写的文件路径是错误的。大致意思是:加载流对象失败。原创 2024-06-12 14:02:09 · 557 阅读 · 0 评论 -
Jasper Studio报表工具预览报错:Error evaluating expression for source text: ((net.sf.jasperreports.engine.dat
最开始我配置的子报表路径是【"/report/yyyy/xxxx.jasper"】,这个路径是不正确的,路径不能使用斜杆【/】开头,使用斜杆就表示绝对路径了,应该修改成【"report/yyyy/xxxx.jasper"】,即:采用相对路径格式。上面从报错,大致意思是说:解析表达式的时候出错了,我找了一圈也没发现哪个组件有问题,于是我就一个一个的尝试,最后发现了问题。原创 2024-06-06 21:14:57 · 381 阅读 · 0 评论 -
SpringBoot聚合工程下,引入动态数据源之后,访问接口报错:Invalid bound statement (not found):xxxxxMapper.selectList
今天创建了一个SpringBoot聚合工程,接着实现了自定义动态数据源相关的代码,工程是正常启动的,但是访问接口去查询数据库的时候,就报错了:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.dev.toolkit.repository.EntityPropertyConfigMapper.selectList。上面报错信息,就是说:MyBatis没有找到绑定的SQL语句。原创 2024-05-24 17:21:29 · 368 阅读 · 0 评论 -
DruidDataSource调用init()初始化数据源之后,链接地址不可用的时候,会循环打印报错日志:create connection SQLException, url: xxxxxx, er
今天在搞SpringBoot动态数据源的时候,有使用到DruidDataSource.init()方法初始化数据源,测试之后,发现如果url地址不正确的时候,控制台会一直输出连接失败的日志信息,报错日志如下所示:,出现上面报错原因是Druid在连接数据库失败之后,会尝试重新连接,所以导致报错日志一直打印。到此,DruidDataSource调用init()方法之后,一直报错的问题就解决啦。原创 2024-05-23 14:29:08 · 285 阅读 · 0 评论 -
SpringBoot程序报错事务回滚异常:Transaction rolled back because it has been marked as rollback-only
今天在测试环境中,测试一个功能的时候,发现了一个报错问题:Transaction rolled back because it has been marked as rollback-only,大致意思是事务已经回滚,因为它已经被标记为仅回滚。到此,Transaction rolled back because it has been marked as rollback-only的报错问题就解决啦。使用上面注解标记内层方法之后,再次启动运行,就可以正常运行啦。原创 2024-05-21 11:30:26 · 1354 阅读 · 0 评论 -
使用PageHelper分页插件,发现获取到的total总记录数量不对,无法获取到正确的total数量
上面的几种情况都不是我遇见的,我又仔细想了下,突然看到我代码里面通过mapper查询出来的List结果集,和我返回给前端的List结果集是两个不同的,按照PageHelper分页的原理,它缓存的是第一次SQL查询的结果集,而如果后面对第一次查出的结果集有二次处理,那么PageHelper就无法获取到实际的total数量。原创 2024-05-14 09:04:25 · 1118 阅读 · 0 评论 -
SpringBoot工程引入spring-boot-admin监控工具,启动报错:NoClassDefFoundError: reactor/core/publisher/Sinks$EmitResu
最近看到了一个监控相关的依赖,就想着引入试一下看看效果,这个监控工具是:spring-boot-admin,需要引入spring-boot-admin-starter-server依赖。从Caused by: java.lang.NoClassDefFoundError: reactor/core/publisher/Sinks$EmitResult报错信息来看,是缺少了reactor/core相关的类。到此,SpringBoot工程引入spring-boot-admin监控工具报错的问题就解决啦。原创 2024-05-10 19:10:33 · 209 阅读 · 1 评论 -
使用com.google.common.collect依赖包中的Lists.transform()方法转换集合对象之后,修改集合中的对象属性,发现不生效
从上面就可以看出来啦,当我们使用Lists.transform()方法转换得到的集合对象,如果没有对其数据进行修改操作,只是遍历集合,那么返回的数据就是相同的,但是,如果有对其进行修改操作,那么此时Lists.transform()方法会创建一个新的对象,修改也只是这个新的对象的数据,不会影响转换的集合数据,可以理解为:修改的数据只是一个临时对象,并不是原对象。针对上面的情况,解决方案当然是,直接通过new的方式,创建一个新的集合,然后对这个新的集合数据进行修改。原创 2024-05-10 16:17:41 · 1013 阅读 · 0 评论 -
操作Redis数据,报错:WRONGTYPE Operation against a key holding the wrong kind of value,类名:LettuceExceptionCo
我这个报错是因为在使用redis保存List集合类型数据的时候,不小心使用的是redisTemplate.opsForValue().set(key, value, timeout, timeUnit);方法,从而导致上面的类型错误。上面报错意思是:对于对应的key使用了错误的操作方式。最后排查发现,我保存数据的时候,是采用redis中的list数据类型,但是通过redis获取的时候,使用的确是string类型,所以这就导致了上面这个报错。原创 2024-04-21 15:12:08 · 299 阅读 · 0 评论 -
JSON转换Bean对象报错:net.sf.json.JSONException:Unknown property ‘xxx‘ on class ‘class java.lang.Object‘
从上面的报错日志中,大概可以知道,这是在将接口返回的JSON字符串转换成Bean对象的时候,接口返回了Bean对象中不存在的字段属性,从而导致在转换过程中报错。如上图所示,当返回的对象中包含了一个子对象,这个时候使用net.sf.json去转换的时候,就会报错:找不到对应的属性字段。我的项目工程中引入了【net.sf.json-lib】这个依赖,并且代码中是使用这个来处理JSON相关数据(这里的JSON字符串和前面的区别在于:这个JSON字符串中data对象中,多了一个extra对象属性。原创 2024-04-13 13:53:18 · 470 阅读 · 0 评论 -
SpringBoot工程在IDEA中使用package打包报错:java.lang.TypeNotPresentException: Type RepackageMojo not present
Caused by: java.lang.UnsupportedClassVersionError: org/springframework/boot/maven/RepackageMojo has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions u原创 2024-03-22 23:00:53 · 277 阅读 · 0 评论 -
JasperStudio中TextField文本框组件渲染之后,出现行间距不一致的问题
最近在处理线上遇到的一个问题,是有关JasperReports报表相关的问题,问题背景大概是这样的:我们的项目中使用了JasperReports来渲染报表,其中使用到了Text Field文本框组件,但是问题是渲染出来的数据直接会出现一些间距不一致的空白区域,效果如下所示:原创 2024-03-05 22:07:13 · 530 阅读 · 0 评论 -
SpringBoot添加Swagger2启动报错:java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonKey
SpringBoot工程添加Swagger2依赖,启动报错:Caused by: java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper、java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonKey。原创 2024-03-05 21:39:52 · 418 阅读 · 0 评论 -
Gitlab中CICD提交代码后,运行报错:Preparation failed: Cannot connect to the Docker daemon
从报错日志上来看,可以发现是不能连接Dcoker daemon进程所导致的,并且它还提示docker daemon进程是否正在运行?从这的报错大概就可以知道问题的原因是:docker中的daemon守护进程没有启动。执行成功之后,这个问题最终就解决了。原创 2024-02-19 20:20:13 · 635 阅读 · 0 评论 -
JasperReports渲染报表文件时候,读取图片报错:Byte data not found at:xxx.png.\r\n\tat
最近在工作中,使用JasperReports报表比较多一些,有次线上环境里面运行报错,查看报错日志,如下所示:从报错日志里面,可以大概看出是在调用fillReport()方法,填充报表数据的时候,读取不到xxx.png图片所导致的报错。于是我就是使用Jasper Studio报表工具打开jasper模板文件,然后查看里面是否有使用Image图片组件的地方,果然是有使用Image图片组件。一开始我以为是图片名称使用了中文所导致的,于是我就先修改图片名称为英文字母,将重新编译之后的jasper模板文件发到服原创 2024-01-27 16:06:12 · 965 阅读 · 0 评论 -
【MD5加密结果不一致问题】同一个文本字符串,使用MD5加密之后,得出的加密结果居然不相同
今天工作中,遇到一个奇怪的问题,我负责对接第三方的短信发送接口,接口中有一个入参是sign加签字段,根据短信内容进行MD5加密之后得到,于是我就是使用JDK自带的MD5加密算法,写了一个加密方法,代码如下:原创 2023-08-24 20:48:11 · 5218 阅读 · 1 评论 -
maven install打包报错There are test failures.\target\surefire-reports for the individual test results.
maven install打包报错There are test failures.\target\surefire-reports for the individual test results.原创 2023-08-22 21:44:32 · 1417 阅读 · 0 评论 -
Java使用replaceAll()、split()方法,对\r\n字符串换行处理遇见的问题
这周在工作中,遇见了一个需求,大致需求功能是:在配置表中维护一个连接符,这里配置的是【\r\n】换行符,前端获取数据显示的时候,使用配置表中的【\r\n】换行符进行拼接显示,看着是和简单的需求,做完之后,我将拼接好的字符串返回给前端,奇怪的事情发生了,前端没有换行显示,而是将【\r\n】内容原样显示出来了。一顿操作之后,发现不生效?普通的\r\n没有被替换成换行符,沃特,没想明白为啥,百度了一圈,后面至于找到原因了,解决方案如下。到此,对于replaceAll()方法处理【\r\n】换行符的问题解决啦。原创 2023-06-06 21:21:27 · 2569 阅读 · 0 评论 -
搭建SpringCloud Gateway环境启动报错:GatewayAutoConfiguration$NettyConfiguration.buildConnectionProvider
在搭建SpringCloud Gateway网关环境的时候,引入了【SpringBoot 2.3.0.RELEASE】和【SpringCloud Hoxton.SR12】版本,启动工程时候,报错找不到依赖。出现上面问题的原因是SpringBoot和SpringCloud的版本不匹配导致的,解决办法是将修改版本号,我是将【SpringBoot 2.3.0.RELEASE】版本修改成了【SpringBoot 2.3.12.RELEASE】,重新启动工程,此时可以正常启动。原创 2023-04-19 15:17:35 · 966 阅读 · 0 评论 -
微服务调用时候,报错:nested exception is feign.RetryableException: Read timed out executing GET http://hystrix
从日志上面来看,核心的内容是:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is feign.R。默认情况下,ribbon的连接时间和读取超时时间是【1000】毫秒,显然是接口调用时候超过1000毫秒了,问题找到了,那要如何解决呢?通过设置ribbon的连接超时时间和读取超时时间即可。原创 2023-02-06 21:12:52 · 1122 阅读 · 0 评论 -
WebService接口调用报错:Unable to create schema compiler,com.sun.tools.internal.xjc.api.XJC
根本原因是项目应用里面缺少tools.jar包,而tools.jar是jdk中提供的一个jar包,我本地电脑配置的环境是jdk的,所以可以正常运行,而服务器上面可能是jre环境,jre里面是没有tools.jar的,所以导致程序报错。这次报错的根本原因就是项目中缺少jdk中的tools.jar包,解决办法就是想一个办法引入tools.jar包,但是需要注意的是,如果我们直接将tools.jar包放入打包之后的工程里面,此时仍然会报错,因为这种方式不生效。到此,这个问题解决啦。原创 2022-11-12 15:26:50 · 1729 阅读 · 0 评论 -
多次负载均衡之后,WebService接口调用地址,和实际调用的接口地址不一致问题记录
这篇文章记录一下,多次负载均衡之后,WebService接口调用地址,和实际调用的接口地址不一致问题记录。原创 2022-10-20 23:52:47 · 3011 阅读 · 6 评论 -
实现springboot项目实现热部署(eclipse)
当修改了SpringBoot工程的代码后,每一次都需要重启项目,才能够让代码生效,这样每次停止、启动工程,太浪费时间了。所以,为了避免时间都浪费在重启项目之上,可以采用热部署的形式,让项目代码实时的编译部署。下面是具体步骤:(1)pom文件引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools<原创 2021-08-12 21:50:21 · 949 阅读 · 3 评论 -
springboot项目结构介绍
创建springboot项目之后,在eclipse中导入,就会生成相应的springboot项目结构目录。下面我以一个demo项目为案例。(1) 导入springboot项目导入项目之前,先上https://start.spring.io创建一个demo项目。导入demo项目到eclipse中,等待maven依赖下载完成,如下图所示:上面就是springboot项目导入完成...原创 2019-08-16 09:20:02 · 1119 阅读 · 0 评论 -
SpringBoot整合swagger报错java.lang.NoClassDefFoundError: javax/validation/constraints/Min
(1)错误信息在搭建SpringBoot整合swagger项目时候,启动项目,报错: . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / /原创 2021-07-19 20:15:03 · 3501 阅读 · 0 评论 -
如何创建一个SpringBoot项目???
springboot项目的创建和spring项目的创建不同,不是直接在eclipse中选择maven项目创建的,而是通过它的官网创建项目。(1)第一步:访问官网打开浏览器,访问:https://start.spring.io出现如下界面:(2)第二步:填写项目信息以及相关依赖相应的以来可以在创建时添加,也可以创建完成之后,用到哪个依赖就添加对应的依赖。内容...原创 2019-08-15 15:00:22 · 206 阅读 · 0 评论 -
SpringBoot启动第一个项目
如何使用springboot启动第一个项目,并且访问index.html页面,显示【欢迎使用SpringBoot】。还是以之前的demo项目为案例。(1) 在【src/main/resources/static】目录下,添加一个index.html页面。(2) 启动springboot项目。启动DemoApplication.java类,即可启动springboot项目。...原创 2019-08-17 11:06:41 · 452 阅读 · 0 评论 -
SpringBoot使用@Valid注解校验参数无效
SpringBoot项目结合Validator进行参数的校验,发现使用@Valid注解无效。@Valid和@RequestBody百度之后,有的说是注解@Valid和@RequestBody一起使用时候,@Valid注解必须在@RequestBody注解之前使用。如下:改成上面之后, 再次测试,发现还是没有校验参数。缺少hibernate的Validator依赖然后继续百度,看到有的文章中引入了javax.validation同时,也引入了hibernate-validator依赖,于是原创 2020-09-18 16:55:32 · 6574 阅读 · 4 评论 -
SpringBoot访问静态资源文件(css、js、images)
(1)引入静态资源时,错误解决方法在做SpringBoot访问静态资源文件(css、js、images)时候,发现总是报错:以为是路径中没有添加static,所以路径又添加static,再次访问如下:额哦,还是一样的错误,看来不是这个问题。继续查找原因,发现是在springboot的配置文件中,配置访问静态资源的路径错误:spring: mvc: static-path-pattern: /** resources: static-locations:..原创 2021-07-29 12:36:01 · 3322 阅读 · 0 评论 -
SpringBoot聚合工程,使用maven打jar包,然后使用java -jar运行报错:xxxx.jar中没有主清单属性
SpringBoot聚合工程,使用maven打jar包,然后使用java -jar运行报错:xxxx.jar中没有主清单属性。SpringBoot项目,打出的jar包目录结构如下:其中META-INF目录下,有一个MANIFEST.MF文件,该文件中保存的内容大致如下:Manifest-Version: 1.0Spring-Boot-Classpath-Index: BOOT-INF/classpath.idxImplementation-Title: zblog_staterI原创 2021-03-23 23:02:21 · 427 阅读 · 0 评论 -
(六)Jenkins部署项目报错The username you provided is not allowed to use the text-based Tomcat Manager (error
Jenkins部署SpringBoot项目,报错:The username you provided is not allowed to use the text-based Tomcat Manager (error 403)ERROR: Build step failed with exceptionorg.codehaus.cargo.container.ContainerException: Failed to redeploy [/var/lib/jenkins/workspace/zbl原创 2020-09-20 15:42:18 · 648 阅读 · 0 评论 -
(三)Jenkins部署项目报错Build step ‘Invoke top-level Maven targets‘ marked build as failure
Jenkins部署SpringBoot项目,报错:Build step 'Invoke top-level Maven targets' marked build as failureWARNING] Failed to create parent directories for tracking file /opt/mavenRepository/org/springframework/boot/spring-boot-starter-parent/2.3.0.RELEASE/spring-boo原创 2020-09-18 09:31:23 · 8433 阅读 · 0 评论 -
(二)Jenkins部署项目报错Some problems were encountered while processing the POMs:Non-readable POM
Jenkins部署SpringBoot项目,报错:[ERROR] [ERROR] Some problems were encountered while processing the POMs:[FATAL] Non-readable POM /var/lib/jenkins/workspace/zblog\code\pom.xml: /var/lib/jenkins/workspace/zblog\code\pom.xml (No such file or directory) @ @原创 2020-09-18 09:31:04 · 5465 阅读 · 0 评论 -
(五)Jenkins部署项目报错Caused by: java.io.FileNotFoundException: http://localhost:8080/manager/text/list
Jenkins部署SpringBoot项目时候,报错:Caused by: java.io.FileNotFoundException: http://localhost:8080/manager/text/listERROR: Build step failed with exceptionorg.codehaus.cargo.container.ContainerException: Failed to redeploy [/var/lib/jenkins/workspace/zblog/cod原创 2020-09-20 07:28:50 · 3800 阅读 · 1 评论 -
(一)Jenkins部署项目到Gitee报错ERROR: Couldn‘t find any revision to build. Verify the repository and branch
在使用Jenkins部署SpringBoot项目时,报错:ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.[DeployPublisher][INFO] Build failed, project not deployedFinished: FAILURE报错的中文大致意思就是:错误:找不到要构建的任何修订版本。验证这个job的仓原创 2020-09-17 09:56:11 · 6359 阅读 · 0 评论 -
FineReport帆软报错:很抱歉,数据集行数过多触发保护机制,请减少查询数据量。若您是管理员,可于智能运维-内存管理-模板限制中更改此项限制。
使用帆软时候,数据集记录数过多时候,FineReport帆软报错,如下:很抱歉,数据集行数过多触发保护机制,请减少查询数据量。若您是管理员,可于智能运维-内存管理-模板限制中更改此项限制。如下图所示:报错原因:单个数据集的记录数超过了帆软设置的最大值,从而触发了保护机制。解决方案:登录本地的帆软数据决策系统,地址:http://localhost:8075/webroot/decision/login。登录用户名和密码,是首次安装finereport时候,自己设..原创 2021-07-12 19:54:23 · 13549 阅读 · 0 评论 -
(四)Jenkins部署项目报错ERROR: Step ‘Deploy war/ear to a container’ aborted due to exception:
Jenkins部署SpringBoot项目报错:ERROR: Step ‘Deploy war/ear to a container’ aborted due to exception:ERROR: Step ‘Deploy war/ear to a container’ aborted due to exception: java.lang.InterruptedException: [DeployPublisher][WARN] No wars found. Deploy aborted. %n原创 2020-09-19 17:20:48 · 3856 阅读 · 0 评论