
日常错误
文章平均质量分 52
番茄炒蛋不加蛋
这个作者很懒,什么都没留下…
展开
-
重写HttpServletRequestWrapper ,解决getInputStream()只能获取一次数据流的问题
Java重写HttpServletRequestWrapper ,解决getInputStream()只能获取一次数据流的问题转载 2022-11-28 14:07:16 · 1495 阅读 · 0 评论 -
SQLException: Before start of result set
背景用惯了mybatis,今天用原生的jdbc获取链接,查询数据时,取数据报错。问题代码片段Connection conn = getConnection();PreparedStatement preparedStatement = conn.prepareStatement("SELECT max(version) as cur_version FROM test_version ");ResultSet resultSet = preparedStatement.executeQuery();原创 2022-02-14 17:27:05 · 600 阅读 · 0 评论 -
Swagger3配置接收List类型参数
问题正常如下面这样写的话在 swagger2.x 版本中会自动识别 List 类型参数,然后页面可传入多个内容,但是使用 swagger3.0 版本后这样配置的话,swagger页面识别不出类型,导致只能传入单个值解决利用 @ApiImplicitParam 注解在方法上注释,并设置 dataType/dadaTypeClass 属性 dataType=“java.util.List” 或者 dataTypeClass=List.class 即可。@ApiImplicitParam(name =原创 2021-06-17 16:11:40 · 7654 阅读 · 1 评论 -
CentOS7中yum命令无法使用且resolv.conf重启后失效
背景新安装的CentOS7系统,之后进行 yum install -y vim 安装vim命令时发现,所有的链接都是404状态导致vim无法正常安装,错误如下:One of the configured repositories failed (Unknown),and yum doesn't have enough cached data to continue. At this point the onlysafe thing yum can do is fail. There are a fe转载 2021-05-06 10:01:11 · 954 阅读 · 2 评论 -
postman能正常请求但java程序请求返回400
问题背景程序需要调用第三方的接口通过http方式,调用方式及为post请求方式传入json串的格式,通过程序调用后发现是http1.1格式的,然后返回400状态码。以为是参数json有问题,但同样的参数拷贝后拿到postman之行则可以成功。问题复线问题代码如下:public static void testHttp(String json){ HttpClient client= new DefaultHttpClient(); HttpPost request = new原创 2021-04-13 21:12:41 · 6043 阅读 · 0 评论 -
maven环境变量配置错误致gradle中mavenLocal()失效问题
背景新项目是以 gradle 构建的,但是以前都是 maven 项目,既然 gradle 可以引用 maven 的仓库,那就直接配置 mavenLocal() 复用就好,结果我们配置了,依然不走 maven 默认仓库。问题发现查询 gradle 官网中关于配置 mavenLocal() 的说明时才恍然大悟,官网上有一段如下的话:大概意思是说使用 mavenLocal() 配置 maven 的本地仓库后,如果仓库在 setting.xml中设置后则gradle默认会使用本地仓库。关于 gradle原创 2021-01-12 18:40:32 · 2260 阅读 · 2 评论 -
docker run -e传递环境变量问题记录
背景由于项目采用的是镜像以host网络模式部署,默认暴露端口是80,显然80端口很容易被占用,即便 默认暴露一个不容易被占用的端口也不是最终办法,限制了镜像拿到任意机器上部署,因此我们需要在容器启动的时候指定想要暴露的端口。解决解决思路很简单,就是通过 docker run 的时候将想要暴露的端口传递进容器,然后修改nginx默认监听端口。传递方式有一下两种。方式一:通过 docker run -e 的方式指定环境变量,容器内部再去处理这个环境变量(推荐)方式二:在 docker run 的最后原创 2021-01-12 14:30:15 · 7507 阅读 · 0 评论 -
The conda.compat module is deprecated and will be removed in a future releas错误记录
背景安装完 anaconda 后,每次执行命令都会出现如下警告信息:WARNING: The conda.compat module is deprecated and will be removed in a future release.解决执行 conda --version 后查看版本为 4.6.11。网上都说这个错误是这个 conda 版本的独有 bug,那我们就升级 conda 即可。执行命令自动升级 conda,在process处选择y,让其继续更新,更新完再查看conda --原创 2021-01-10 13:32:49 · 5284 阅读 · 0 评论 -
Chrome浏览器87端口限制问题
背景项目需要指定暴露端口,考虑到80容易被占用,就临时采用的87端口,但是服务启动后发现通过谷歌浏览器是打不开的,此时通过机器的命令行模式是可以请求的,而且通过Edge浏览器也是可以的,遂定位问题为谷歌浏览器问题。解决查找一圈后,发现不少人都被这个端口问题坑过,如果通过设置开放端口问题虽然可以解决自己访问问题,但是不能要求每个客户自己设置。所以我们还是妥协了,最简单的方式就是更换端口为了以后再出现类似端口问题,记录一下谷歌浏览器预留限制的端口列表如下附录:Google Chrome 默认非安全端口原创 2021-01-08 09:58:00 · 1620 阅读 · 0 评论 -
记LambdaUpdateWrapper的带乐观锁update失败问题
背景由于项目集成了Mybatis-Plus,所以更新语句就自然采用了LambdaUpdateWrapper来构造更新条件,使用 update(T entity, Wrapper<T> updateWrapper)执行更新语句。由于此处逻辑借用CAS思想,利用乐观锁版本号来滚动更新。但是代码部署后发现滚动了3次更新都失败了。问题复现问题代码逻辑如下:LambdaUpdateWrapper<People> updateWrapper = Wrappers.lambdaUpdate原创 2020-11-16 16:09:11 · 10117 阅读 · 0 评论 -
OpenJDK利用jstack命令打印堆栈信息
背景程序需要对一个大文本进行处理,最后发现一直在处理中,cpu占用率一直为100%,大概能猜想出问题所在,只是借用 jstack 打印堆栈信息用以佐证。jstack佐证执行 top 找出占用cpu最高的java进程id //10执行 top -Hp pid 找出该进程内最耗费CPU的线程 //执行 top -Hp 10 得到167执行 printf “%x\n” pid 得到对应线程id对应的十六进制值 //a7执行 jstack [进程id]|grep -A 50 [线程的16进原创 2020-09-05 11:09:18 · 7241 阅读 · 0 评论 -
MyBatisPlus中使用or()和and()小坑
在项目中使用MyBatisPlus中的or()查询时由于误用,导致查询数据不对,仅作记录。写法一:LambdaQueryWrapper<Task> queryWrapper = new QueryWrapper<Task>().lambda(); queryWrapper .eq(Task::getUserId, "15") .eq(Task::getStatus, 2)原创 2020-08-25 16:31:36 · 4966 阅读 · 1 评论 -
shell脚本执行错误 $\r:command not found
存现这种错误是因为 shell 脚本是在 win 下编写的,每行结尾是 \r\n 的 Linux 结果行是 \n 所以在 Linux 下运行脚本会任务 \r 是一个字符,所以运行错误。使用以下两种方式修改:方法一:sed -i 's/\r//' kill_pid_test.sh方法二:yum -y install dos2unixdos2unix 脚本名...转载 2020-06-04 16:45:12 · 208 阅读 · 0 评论 -
使用@transactional须知
参考链接:SpringBoot透彻掌握@Transactional注解掌握 Spring 中@transactional 的使用关于@transactional失效的情况有很多种,,最容易让人忽略的还是方法的自调用问题,如下代码虽然写了@Transactional,但是testInsert()方法抛运行时异常时,并执行不会回滚操作:@Servicepublic class TestSer...转载 2020-03-16 16:08:32 · 126 阅读 · 0 评论 -
Another app is currently holding the yum lock
Liunx中利用yum命令进行安装时发生以下提示:Another app is currently holding the yum lock; waiting for it to exit... 另一个应用程序是:PackageKit 内存: 27 M RSS (437 MB VSZ) 已启动: Mon Feb 3 19:19:44 2020 - 02:20之前 状...原创 2020-02-03 21:08:38 · 174 阅读 · 0 评论 -
已经提交的包含在.ignore文件取消解决
问题背景IDEA中错误提交包含在.gitignore中的文件,或者项目半路才加入.gitignore文件需要从git管理中删除问题解决思路拉取远程代码,保证代码一致性删除暂存库中代码同时保留工作区文件(使代码脱离git管理)修改好.gitignore文件后重新add和commit代码推送回远程分支,此时加入.gitignore中文件从分支上消失命令行命令思路清晰之后对照着思路...原创 2020-01-17 18:58:15 · 554 阅读 · 0 评论 -
ResourceUtils.getFile的错误应用
错误背景众所周知,要获取resource下的文件文件可以有下面这种方式实现//获取kubeconf路径下的文件File fileDir = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX + "kubeconf");错误原因出错情况:以上方式在本机IDEA工具中的启动运行不会出现任何错误,但是使用maven把项目打成j...原创 2020-01-14 19:07:35 · 3052 阅读 · 0 评论 -
谷歌浏览器打不开Axure原型生成的HTML文件问题
问题预览点击生成的HTML文件夹下的index.html页面弹出下面弹框:这提示的就很明白了,要我们下载谷歌插件Axure RP Extension for Chrome问题解决按着提示我们下载了插件,重新打开该文件发现还是弹出这个页面。用文本编辑工具打开index.html,在大概87~91行找到以下代码,然后注释掉$(window).bind('load', function()...原创 2020-01-06 10:53:31 · 5137 阅读 · 1 评论 -
Docker容器中文支持及时区设置问题
环境FROM openresty/openresty:centos此centos集成了nginx的配置。问题Java服务启动后日志输出如下:问题查看执行locale -a命令,发现不支持zh_CN.utf8字符集。问题解决方式一:yum install kde-l10n-Chinese -y 安装语言包(针对centos 7)yum reinstall glibc-comm...原创 2019-12-11 11:48:56 · 582 阅读 · 0 评论 -
gulp报错The following tasks did not complete
版本:gulp4.0.2代码如下// 默认gulp执行任务gulp.task('default', gulp.series('clear', function() { for (var key in tasks) { tasks[key](); }}));执行gulp打包报错如下:The following tasks did not complete: defaul...原创 2019-12-10 09:46:52 · 935 阅读 · 0 评论 -
Redis写操作错误((error) MISCONF Redis is configured to save RDB snapshots)
一:以下是相关命令及报错信息大致信息为: Redis被配置为保存数据库快照,但它目前不能持久化到硬盘。用来修改集合数据的命令不能用。详细错误信息请查看Redis日志的。报错信息提示很友好了,跟stop-writes-on-bgsave-error配置有关。我们不着急查看配置,先根据提示进一步查看redis日志信息:到这里发现日志全是报没权限的错误信息。二...原创 2019-11-25 16:31:53 · 663 阅读 · 0 评论