![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
bug心得
自己所遇到的bug,异常,以及总结的一些心得,常用技巧等
帅哥学Java
乞丐不会羡慕百万富翁,但可能会羡慕比他收入更高的乞丐
展开
-
Pseudo-terminal will not be allocated because stdin is not a terminal. Warning: Permanently added ‘[
**问题:**这是我在.gitlab-ci.yml文件中用基于sshpass的镜像去执行sshpass远程连接时报的错误。**原因:**这本身其实不算个错误,字面意思理解就是不会分配伪终端。通俗点就是你执行sshpass是可以连上目标服务器,但是是非交互式执行的,没有终端。我执行完这句,下面有一些rm命令,但是并没有执行成功。通过执行hostname -i发现,我还在docker容器里,以为没连上,实则是因为非交互式的原因,第二个命令相当于是容器去执行的命令,所以你在目标服务器那些rm操作也就不可能成功了原创 2022-03-11 14:34:41 · 1427 阅读 · 1 评论 -
/usr/bin/bash: eval: line 130: unexpected EOF while looking for matching `‘‘
**原因:**做GitLab-CI时,.gitlab-ci.yml文件的script脚本写错,一条命令写成了多行,如下图所示,写了多个-,导致最后的双引号和前面的双引号都是单独的双引号,相当于多条命令。**解决:**把多余的-去掉就行了,只留第一行的-。...原创 2022-03-11 14:12:06 · 478 阅读 · 0 评论 -
GitLab-CI bash:xx: command not found
**问题:**在做GitLab-CI持续集成时,Pipeline执行job时报下图所示的错误,明明我做的镜像是有linux环境的,但是还是报命令未找到的错误。**原因:**是我的script脚本写换行语句时加上了&& \的字样所以导致了这个错误**解决:**如果是一条命令,在.gitlab-ci.yml文件中直接换行即可,或者光写&&或者\,两者只保留一个即可。...原创 2022-03-11 14:04:35 · 2290 阅读 · 0 评论 -
javax.validation.ConstraintDefinitionException: HV000074:containsbut does not contain a message para
原因:当前注解包含了@Constraint这个注解,但是没有包含一个message参数解决:在自定义的注解里添加message参数即可public @interface xxx{String message() default "xxx";}原创 2022-02-22 17:18:57 · 1639 阅读 · 0 评论 -
failed to get files used from context: when specifying multiple sources in a COPY command, destinati
报错信息:error building image: error building stage: failed to optimizeinstructions: failed to get files used from context: when specifyingmultiple sources in a COPY command, destination must be a directoryand end in ‘/’在做gitlab-ci自动化部署的时候,Pipelines执行的时原创 2022-02-15 18:16:56 · 1551 阅读 · 0 评论 -
mv: target ‘/xxx‘ is not a directory error building image: error building stage: failed to execute c
这是当时我用Dockerfile的命令Run mv /xxx/*.jar /xxx/xxx/xxx.jar想的是把docker容器内的jar包进行移动并重命名,但是报了如题所示的错。原因:如果*匹配到了不止一个jar包或者文件,那么如果你的目的路径不是一个目录的话,那么就会报错。解决:改变匹配规则,精确到某一文件,保证源文件是一个文件,亦或者目的路径是一个目录。...原创 2022-02-15 15:01:30 · 5569 阅读 · 0 评论 -
Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java.lang.NullPointerEx
原因:1、SpringBoot版本太高导致集成Swagger2报错2、因为Springfox使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher。解决方案:1、我用的SpringBoot版本是2.6.1的,可以做版本降级处理,改成低版本的2、在application.properties末尾添加spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER(yaml同理) .原创 2022-02-07 10:29:46 · 516 阅读 · 0 评论 -
java.lang.IllegalArgumentException: argument type mismatch at sun.reflect.NativeMethodAccessorImpl.
解决方法:记录做项目中遇到的如题所示的bug,原因是mybatis的resultType类型和类中属性类型不一致导致的。我类中userId属性是long,但我resulttype写的是int,导致出错。映射的结果类型改为long类型即可。 <selectKey keyProperty="userId" keyColumn="user_id" resultType="long" order="AFTER"> select last_insert_id()原创 2022-01-20 14:32:37 · 3006 阅读 · 0 评论 -
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘java
项目中接收前端参数打算用枚举类型去接收,不过报了以上的校验错误,原因是因为@NotEmpty用在集合类上面,不能用于枚举类型。解决方法就是注释掉这行或者换成@NotNull也可以原创 2022-01-19 16:47:23 · 424 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Bucket “xxxx“ 名称无效。Bucket 命名规范:1)只能包括小写字母,数字和短横线(-);2)必须以小写字母或者数
记录一次上传本地文件到OSS的bug,由于本人眼拙,将概览里的bucket域名一直当作bucket名称,导致上传一直失败,只需将bucket改成如下名称即可原创 2022-01-18 10:20:57 · 2812 阅读 · 1 评论 -
You have no right to access this object because of bucket acl.
我在做上传本地文件到OSS的时候遇到如上错误,原因竟是RAM未开启OSS权限导致的。步骤:1、点击页面右上角头像下的AccessKey管理2、来到此界面选择用户,添加权限3、添加如下权限即可原创 2022-01-18 10:13:42 · 510 阅读 · 0 评论 -
Error running ‘Tomcatx‘Cannot load \conf\server.xml: String ‘--‘not allowed in comment (missing ‘>‘?
今天,因为工作需要,所以在一个windows环境中配置了两个tomcat,但是第二个tomcat一直报如题目所示的错误,网上百度和google搜索出来的结果都是端口占用、修改配置等,而我仔细看了看问题所在,后面标有如下图所示的字样,也就是告诉了我行数和列数,然后我用vscode打开一看,果然76行有问题,–爆红了,所以问题找出来了就解决了,和端口没啥关系。如果这篇文章有帮助到你,就给个大大的赞哦!让我看看有多少幸运儿嘿嘿! 附上转载:一个windows配置两个tomcat的链接(本人亲测可行):htt原创 2021-12-13 11:17:32 · 1226 阅读 · 0 评论 -
Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:3.1 Clean up the broken artifa
言简意赅,话不多说,直接上图:记录一次创建maven项目的时候出现的bug,我以前也配过maven并没有遇到过这种问题,这回重新下载就出现这个问题了。我maven刚开始下的是3.8.4版本的也就是目前的最新版本,然后就出现了如上问题,而且我觉得我环境变量和settings.xml的配置以及IDEA整合maven的配置都没问题的,我还照着网上的大多数教程去修改阿里云镜像、关闭内网连热点、等方式都没用。我还以为是版本问题,就降级成了3.6.3,还是不行,之后我换成了3.5.4就可以了,然后我很纳闷不应该是版原创 2021-12-10 15:18:59 · 3443 阅读 · 0 评论 -
一文让你彻底搞懂final、static、static final、常量池、静态常量池、运行时常量池、成员变量、实例变量、静态变量、类变量
常量池:字节码文件内部包含了常量池静态常量池:就是静态的概念,和上述常量池一个概念,只是叫法不同运行时常量池:就是把常量池加载到jvm的方法区,将符号引用转化为直接引用的过程,这时就称为是运行时常量池成员变量:就是位于类中方法外,位于堆中(例如int i = 3)实例变量:和成员变量一样,只是叫法不同静态变量:static修饰的成员变量(实例变量),jdk1.7及之后位于堆中类变量:和静态变量一样,只是叫法不同核心理解:以下是我查网上资料和看书看视频个人总结的不一定对,有啥不对的地方请各位原创 2021-10-24 22:09:06 · 4087 阅读 · 3 评论 -
Navicat远程连接mysql出现2059错误解决
原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password解决:我是docker安装的mysql,先执行docker exec -it mysql容器ID /bin/bash进入到容器里面,通过mysql -uroot -p登录到mysql里面,然后执行如下指令即可:1、ALTER USER 'root'@'%' IDENTIFIED BY '你要设置的mysql密码' PASSWORD ...原创 2021-09-17 17:31:29 · 384 阅读 · 0 评论 -
fastjson使用自我总结
不知道各位小伙伴是否遇到过这样一个问题,就是在SpringMVC controller层接收的时候,如果参数类型是String亦或者是对象、map,后端在接收参数的时候都会报空指针异常,也就是接到的是个null。我们通常是在参数前加一个@RequestBody注解来去接收前端传过来的参数,要求数据是放在body请求体中,且Content-Type为application/json(我是以json作为数据的传输方式)。但是如果你是光用String或者Map啥的接收,那么收到的是一个字符串或者map形式的对..原创 2021-08-13 17:17:37 · 167 阅读 · 0 评论 -
Java常用工具类小结
一、xml转json对象 依赖jar<dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> ..原创 2021-07-28 13:09:54 · 179 阅读 · 0 评论 -
Git实际工作中的基本操作流程(干货满满!附入职经历呦!)
入职经历(不感兴趣可以跳过) 今年暑假是刚入职的Java实习生小白,刚进公司,公司就让用git去把gitlab上的项目全部克隆下来,在这之前我也学过git,一下就克隆下来了,不就是个git clone么,然后导入jar包一直导不进去,maven、阿里云镜像啥的都没问题,后来问同事才知道是没有用公司的私服,有些jar包下不下来导致的,后来去掉了阿里云镜像加上了私服只导入了部分jar包,我又把阿里云镜像加了回来,莫名其妙就导入了进来,莫名其妙就是,我认为私服如果没有jar包的话它会从中央仓库去下载ja...原创 2021-07-16 16:39:45 · 2286 阅读 · 0 评论 -
Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans,报错解决
记录自己今天遇到的一个小bug:在做头像上传功能时,出现如下错误,我有一个Properties类是和配置文件所绑定的,@ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;prefix = "":配置文件中下面的所有属性进行一一映射,一般@Component只有这个组件是容器中的组件,才能用容器提供的@ConfigurationProperties功能;解决方法 1)直接把@Component注解注释掉 ...原创 2021-04-19 17:19:13 · 7711 阅读 · 0 评论 -
Postman415报错“Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported
记录一次在前后端联调过程中出现的"Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported"415状态码报错,原因是我用x-www-form-urlencoded发送了一次post请求,然后请求头中就携带了如下图所示的key、value,再次以raw方式发送json数据就报错了。 解决方案: 将这个关掉,下次访问就不会报错了。...原创 2021-03-07 10:21:53 · 3753 阅读 · 0 评论 -
震惊!心态炸裂!IntelliJ IDEA Project Structure下Paths指定的module compile output path由于指定路径错误导致磁盘内容被删光了!
今天是难忘的一天,由于原创 2021-03-01 11:07:39 · 3659 阅读 · 2 评论 -
Starting MySQL. ERROR! The server quit without updating PID file 解决方法
我刚开始学mysql高级的时候,让下载两个mysql rpm包,一个server端,一个client端,然后我利用xftp工具放到了centos7上,但是刚开始就是怎么也安装不上,还报了以下错误:warning: MySQL-server-5.5.48-1.linux2.6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: N原因:这是由于yum安装了旧版本的GPG keys造成的解决办法:命令后面跟上 - -force ..原创 2020-08-29 10:46:51 · 4433 阅读 · 4 评论 -
MySQL服务启动:某些服务在未由其他服务或程序使用时将自动停止
不是重点 :今天使用mysql的时候,不知为何启动不了了,百度了一堆、网上都说将data目录清空或者重新创建一个空的data目录将原来的删除掉,再进行重新初始化,重新安装即可,data的名字根据你的my.ini配置文件中设置的mysql数据库的数据的存放目录来写,一般都是data,但是根据以上方法我还是启动失败,当时已经气急败坏,最后发现是sql_mode在搞事情。重点:把你my.ini配置文件中的sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,..........这一行删掉原创 2020-08-17 13:42:20 · 772 阅读 · 0 评论 -
org.springframework.jdbc.CannotGetJdbcConnectionException: PreparedStatementCallback; Could not retr
在学习SpringCloud Alibaba Nacos时,实现derby到mysql切换报了上述异常,异常原因是因为我的mysql版本是8.0以上的,nacos-server默认支持5版本的,所以不行。网上找了很多解决办法,都是修改源码什么的,下面是我的方法,亲测有效!1.首先你下载的nacos版本是1.2以上(我的是1.3.0)2.在你nacos的安装目录新建plugins/mysql文件夹(因为startup.cmd里面默认加载这个目录下的jar包),加入一个8.0+版本的mysql-co..原创 2020-08-10 21:33:51 · 1768 阅读 · 0 评论 -
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘externalDump
在学习SpringCloud Alibaba Nacos时,出现了上述异常,因为我的数据库是8.0+版本,所以得在nacos的application.properties文件中db.url.0那一行加上参数useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC,这样就不会报上述错误了。 配置如下:nacos.istio.mcp.server.enabled=false...原创 2020-08-10 21:33:49 · 1771 阅读 · 0 评论 -
SpringBoot解决前端的跨域问题
1.我的项目是以jar包的形式部署在阿里云服务器上的,首先你得配置安全组规则开放指定端口,默认是8080,也可以通过yml或者properties文件自己指定,然后配置解决跨域的过滤器:@Componentpublic class CorsFilter implements Filter { @Override public void doFilter(Servlet...原创 2020-04-27 10:55:19 · 590 阅读 · 0 评论 -
Caused by: java.sql.SQLIntegrityConstraintViolationException: Cannot delete or update a parent row:
网上查了很多,都说不满足主键约束啥的等等都没解决,我的问题主要是删除记录的时候删不了,最后发现是中间表的外键默认删除时是RESTRICT, 当取值为No Action或者Restrict时,则当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。 当取值为Cascade时,则当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应...原创 2020-04-22 10:03:22 · 4328 阅读 · 5 评论 -
elasticsearch报错解决办法:NoNodeAvailableException[None of the configured nodes are available
我用的是springboot2.x版本,对应的spring-data-elasticsearch是3.1.6,对应的elasticsearch版本应该是6.4.3,所以应该拉取6.4.3的镜像,而我拉取的latest不是6版本的,导致我后面的一个测试方法报这个错,所以我重新拉取了一下,并修改了配置文件就可以了,还有就是springboot2.x一个index对应一个type,如果你一个索引下两...原创 2020-04-21 13:43:20 · 563 阅读 · 0 评论 -
org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused解决办法
兄弟们,我在学springboot整合rabbitmq时,准备给交换器中的消息队列发消息,谁知道报了个拒绝连接,但是我web登录管控台是可以的,我用的是阿里的云服务器,所以得把安全组给开放15672端口,防火墙也关闭了,我是docker启动的rabbitmq,设置了两个端口的映射规则,我光开放了一个端口,虽然web界面可以操控,但是连接就不行了,所以把安全组5672端口开放即可 综上解决...原创 2020-04-14 22:46:04 · 1927 阅读 · 0 评论 -
idea中新建的yml文件没有提示解决方法
1.有可能是你的maven依赖还未完全导入,等导入后,yml文件就会变成绿叶子,就会有提示了。2.可能是你文件名写错了,多空格、后缀名、名字不是application.yml或者application.properties等。3.yml文件以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的,很可能不在同一级,也就是不在同一列,所以没提示。...原创 2020-03-13 16:30:21 · 3784 阅读 · 0 评论 -
springboot2.x版本整合JDBC无法建表
首先,默认加载规则是类路径下的schema.sql,schema-all.sql;如果你的mysql是高版本,配置文件中加上driver-class-name: com.mysql.cj.jdbc.Driver,必要的话在url后面加上时区,譬如,加上?serverTimezone=UTC其次,2.x版本得在配置文件中加initialization-mode: always最后,如果加载指...原创 2020-03-10 17:27:01 · 404 阅读 · 0 评论 -
阿里云ECS服务器Docker无法访问Tomcat
第一步,首先你得关闭防火墙,关闭防火墙命令:systemctl stop firewalld.service开启防火墙:systemctl start firewalld.service关闭开机自启动:systemctl disable firewalld.service开启开机启动:systemctl enable firewalld.service第二步,阿里云ECS...原创 2020-03-07 22:00:56 · 962 阅读 · 1 评论 -
Tomcat服务器无法启动(无限打印日志)
我个人遇到的bug:我做SSM框架项目的时候,用idea去做的,基本框架也已经搭好了,后来遇到了个bug,就是tomcat启动不了一直,控制台还一直打印日志文件,代码里也看了没有错误,也按照网上说的什么删除tomcat9,jre然后重新导入一下没用,关机,重启也没有效果,后来我全部删除了又重新搭建了一下,还是不行,当时自闭了哈哈,然后用eclipse又去搭建了一遍,突然就好了,我也不清楚为什么,后...原创 2020-01-13 13:54:27 · 829 阅读 · 0 评论 -
ex=HttpMessageNotWritableException cause=JsonMappingException
org.codehaus.jackson.map.JsonMappingException: Direct self-reference leading to cycle (through reference chain: com.atguigu.atcrowdfunding.util.AjaxResult["page"]->com.atguigu.atcrowdfunding.util.P...原创 2020-02-03 12:57:03 · 366 阅读 · 0 评论 -
eclipse右键new缺少东西
点击Window,然后点击Perspective,再点击Customize Perspective,点击最右边的Shortcuts,选择New进行设置,就可以出来maven,javaEE等东西了。原创 2019-12-24 09:32:49 · 490 阅读 · 0 评论 -
众筹项目(一)
1.Maven项目模块划分:Atcrowdfunding-parent 父工程,聚合其他工程(pom) Atcrowdfunding-main Web工程,存放所有页面,框架配置文件(war) Atcrowdfunding-manager-impl 后台管理系统,存放控制器类,业务层实现类(jar) Atcrowdfunding-manager-api 后台管理系统,存放业务层接...原创 2019-12-16 13:24:56 · 236 阅读 · 0 评论 -
java.lang.reflect.InvocationTargetException(throw var4.getTargetException())
我用SSM框架做项目的时候遇到了这个异常,解决了半天,最后发现是jdbc.properties中的数据库名字没改过来,就不存在那张表,我加断点调试过程中发现dao的对象都已经创建了,就是不执行方法,终于解决了,分享给和我同样情况的小伙伴们!!!...原创 2019-12-11 16:40:26 · 8965 阅读 · 4 评论 -
Eclipse中Maven工程缺少Maven Dependencies
我百度的时候网上说了很多,但是都没有解决,谁知道差个ctrl+s,用习惯idea后,忘记eclispe得时刻保存了,分享给我同样情况的小伙伴们!原创 2019-12-22 12:59:58 · 116 阅读 · 0 评论 -
HTTP Status 500 - Servlet.init() for servlet DispatcherServlet threw exception
该错误可能有以下几种情况会导致Servlet初始化错误: 比如说 1.springmvc.xml配置文件中存在文件解析器 2.springmvc.xml配置文件中存在过滤静态资源的标签而你又没有这个静态资源文件(我遇到的错误) 3.maven中spring-core和spring-mvc版本不一致会引发该错误...原创 2019-11-30 20:44:53 · 1140 阅读 · 0 评论 -
解决IntelliJ IDEA 创建Maven项目速度慢问题
方法一: 直接点+号,添加这段叙述即可方法二(亲测有效): 点击file下的Other Settings 再点击Settings for New Projects 进去以后到这个页面设置VM options为-DarchetypeCatalog=internal apply ok即可...原创 2019-10-26 20:44:47 · 121 阅读 · 0 评论