错误积累243

19.2.6

多个moudle下
spring boot项目 使用mybatis-plus的分页配置项 MybatisPlusConfig
由于没有放在有有Application的启动moudle里 报错
BossFaeWebApplication
重新放到有
Application的项目下就好了

19.2.12

多个moudle下 通用异常类不生效,没有被spring扫描到,放到带main方法的项目下 或者在注解
@SpringBootApplication
加扫描
(scanBasePackages = {"包名"})*


19.3.13

int转double double加减都需要通过BigDecimal 转换,不然有误差

19.3.14

com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

mysql版本太高 具体原因待查证

解决方案 添加时区

&serverTimezone=UTC
url: jdbc:mysql://localhost:3306/demo_user?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
utc gmt 插入后时间少8个小时 可以使用下面格式

serverTimezone=Asia/Shanghai
serverTimezone=GMT%2B8

19.3.14
java8 设置最大时间 最小时间

取最小时间 输出 yyyy-HH-mm 00:00:00

		LocalDateTime localDateTime1 = LocalDateTime.now();
        localDateTime1.with(LocalDateTime.MIN);

加入尝试下面输出 23:59:59 插入数据库就不行了 输出可以

		 LocalDateTime localDateTime1 = LocalDateTime.now();
        localDateTime1.with(LocalDateTime.MAX);

输出得这样 先求的最小值 然后加上23 59 59

		LocalDateTime dateTime = localDateTime.plusDays(days);
        return dateTime.with(LocalTime.MIN).plusHours(23).plusMinutes(59).plusSeconds(59);

327
mybatis plus 条件拼接and遇到的坑
and 也有条件 true false判断,不加判断,查询会出现null 条件拼接
使用前面的进行空判断是否使用条件

 IPage<Card> cardIPage = cardMapper.selectPage(page, new QueryWrapper<Card>()
                .and((StringUtils.isNotBlank(cardDto.getKey())), x -> x.eq("数据库字段", cardDto.getKey()).or()
                        .eq("数据库字段", cardDto.getKey()))
                .orderByDesc("创建时间"));

518域名请求被拒绝 报错 浏览器控制台报错net::ERR_CONNECTION_RESET原因:
可能也是别的原因造成的
我是因为起初把域名加到了本地hosts里面,结果项目上线后请求域名怎么请求怎么报错,忘记了配置在本地了 删除后就可以正常请求域名了


616
若执行ssh-add /path/to/xxx.pem是出现这个错误:Could not open a connection to your authentication agent,则先执行如下命令即可:

ssh-agent bash

生成多个密钥

https://gitee.com/help/articles/4229#article-header0

生成一个 添加一下 ssh-add ~/.ssh/密钥名字


621

java.lang.NumberFormatException: For input string: ""

读取的文件有问题。。


启动找不到主类
clean install 然后编译一下


时间问题相差8小时


按周几查询
oracel

select to_char(sysdate - 1,'d')  from dual;

mysql

SELECT DAYNAME('2012-12-01'), DAYOFWEEK('2012-12-01');

oracle 关联表更新

  UPDATE  表版2
SET
  表2.C  =  (SELECT  B  FROM  表1  WHERE   表1.A = 表2.A)
WHERE
  EXISTS ( SELECT 1 FROM   表1  WHERE   表1.A = 表2.A)


1031
git feath使用


1106
两个服务传递
A调用B 不能穿localdateTime
返回时 B传给A localdateTime 需要配置
localdateTime 不格式化 返回前台格式


1113
mysql8连接数据库配置

serverTimezone=Asia/Shanghai

空指针

如果对象的属性可能是空的 get的在后面
值.equals(对象.get属性)


spring boot版本升级后字段校验依赖

<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
</dependency>

JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别
关于获取类的字段有两种方式:getFields()和getDeclaredFields()。我们先来看看这两者的区别吧:

getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。
getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。

同样类似的还有getConstructors()和getDeclaredConstructors()、getMethods()和getDeclaredMethods(),这两者分别表示获取某个类的方法、构造函数。

测试类启动报错 无法注入mapper

mapperScan 扫描错误 扫描是具体mapper的包名 不能带*
例 所有的mapper文件放在com.example.demo.dao 包下

正确
@MapperScan("com.example.demo.dao")
错误
@MapperScan("com.example.demo.dao.*")

代码报红 项目正常启动

复制项目出一个副本 重新打开 原因没找到。

nacos 启动注册到localhost:8848

配置文件需要时bootstrap.yml applcation.yml会报错

虚拟机网络服务启动失败Failed to start LSB 解决方法

/etc/sysconfig/network-scripts

的ifcfg-eth0 文件 name跟device需要跟外面一致

启动mysql

mysqld --initialize --user=mysql --console

idea 启动不自动生成target文件 修改文件必须重启才生效

删除项目的idea文件夹 重新打开项目

java.lang.IllegalArgumentException: endpoint format should like ip:port

datasource无法注入

添加依赖

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-jdbc</artifactId>
 </dependency>

配置信息

在这里插入图片描述

不能有驼峰写法 需要是 . 分割

枚举类

使用枚举类 保存更新 要进行判断

springboot No primary or default constructor found for interface java.util.List

controller 没有加 @requestbody 或者 @requetparam注解

mysql

查看mysql版本

select version() from dual;

notepad++ 查找替换

^ 首字符 $ 尾字符

mybatis 日志打印配置

# 在dev环境开启mybatis的日志打印
mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

get请求接收 {} 格式

server:
  port: ${PORT:8980}
  tomcat:
    relaxed-query-chars: "{,}"    # get请求 兼容 {}

无效的源发行版 11

创建项目用的8 但是实际要用11
修改jdk版本 删除 .idea 文件夹

操作步骤一
操作完删除 .idea 文件夹

cmd ssh连接虚拟机额

ssh ip地址
按提示输入账号密码

请求参数是连接的需要编码

encode 编码
decode解码

maven 私服上传

设置对应的仓库地址 有密码的加密码 然后使用mvn命令上传

<distributionManagement>
        <repository>
            <id>nexus</id>
            <name>Nexus Release Repository</name>
            <url>http://admin:12345678@localhost:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://admin:12345678@localhost:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

私服依赖

传到私服的依赖 需要升级版本 不然是不发更新的

feign 继承加fallback 报错

数据比较时的空指针

docker

解决docker Error response from daemon invalid argument
在低版本的centos7下安装最新的docker可能会出现的错误
docker run 的时候报错
err:docker: Error response from daemon:
mkdir /var/lib/docker/overlay2/948…: invalid argument.
See ‘docker run --help’.
修改docker文件系统驱动
systemctl stop docker
rm -rf /var/lib/docker
cat /etc/docker/daemon.json
{
“storage-driver”: “devicemapper”
}
systemctl restart docker

控制台不打印异常信息

rest类放的太深

父类中list判空

@Valid
    @NotEmpty(message = "区域信息不能为空")
    @ApiModelProperty(description = "区域信息", value = "区域信息", forceReq = true)
    private List<AreaCreateReq> areaList;

使用NotEmpty 才可以 不能使用 notnul

NoClassDefFoundError

RedisTemplate测试类空指针

测试类添加 @RunWith(SpringRunner.class)

链接

# java.nio.charset.MalformedInputException: Input length = 1

SpringBoot application.yml文件报错 java.nio.charset.MalformedInputException: Input length = 1
application.yml编码错误
删除一个新建后,将内容填充

不再支持源选项 5。请使用 6 或更高版本。

在这里插入图片描述

<profile>     
    <id>jdk-1.8</id>   
    <activation>        
          <activeByDefault>true</activeByDefault>    
          <jdk>1.8</jdk>      
     </activation>  
     <properties>  
          <maven.compiler.source>1.8</maven.compiler.source> 
          <maven.compiler.target>1.8</maven.compiler.target> 
          <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>   
     </properties>
 </profile>

日志打印中文乱码,system打印不乱吗

修改日志文件配置,将logback-spring.xml 中的所有UTF-8注释掉 即可解决

java项目中未找到 javax.servlet.jsp.PageContext 的类文件

  1. tomcat里面的lib目录下,jsp-api.jar与servlet-api.jar都导进项目中去
  2. spring boot项目 导入这两个依赖

mysql 5.7升级8.0

解决方式
group查询错误
查询类型

select @@sql_mode

将查询出的 删掉最前面 group的单词,放到 my.ini 文件内 重启 mysql

mysq8 默认没有 my.ini 文件,在mysql根目录创建 my.ini文件 添加以下代码

[mysqld]

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Could not initialize class gnu.io.RXTXCommDriver问题解决方法

问题原因:%JAVA_HOME%-搜索环境变量即可看见对应的值

%JAVA_HOME%/jre下的rxtxParallel.dll与rxtxSerial.dll对应的版本不一致

rxtxcomm官网地址http://rxtx.qbang.org/wiki/index.php/Download
在这里插入图片描述

gateway提示 服务不可用

为什么会这样,是因为在Spring Cloud 2020版本以后,默认移除了对Netflix的依赖,其中就包括Ribbon,官方默认推荐使用Spring Cloud Loadbalancer正式替换Ribbon,并成为了Spring Cloud负载均衡器的唯一实现。
解决
在当前模块导入Spring Cloud Loadbalance依赖就可以了。

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

【No buffer space available】异常解决

1. 问题原因

这是端口不够所导致的。Windows默认情况下的端口启用情况可以用命令:

netsh int ipv4 show dynamicportrange tcp来查看

2. 解决方法

以管理身份运行命令窗口,然后通过命令

netsh int ipv4 set dynamicport tcp start=2000 num=63000

或者修改注册表

运行regedit打开注册表,依次找到以下路径

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

在右侧空白处,右键新建DWORD值

名称:MaxUserPort

数值数据:65534

基数:十进制



确定,关闭注册表。重启电脑

查看端口号

(2)输入命令

查找占用的端口号:netstat -ano |findstr 8005。端口8005被PID(进程号)为4728的进程占用

查看端口8005被哪个应用占用:tasklist |findstr 4728

强行终止进程:taskkill /f /pid 4728

socket

socket在线测试地址

FTP上传

有文件,但是0kb, 添加 ftp.enterLocalPassiveMode()

FTPClient ftp = new FTPClient();
ftp.connect(host,port);
ftp.login(user,passWord);
ftp.enterLocalPassiveMode()
ftp.storeFile(reomte,InputStream);

ip ping不通

一般是防火墙问题,关掉还不通,查看几个网络

Error: error:0308010C:digital envelope routines::unsupported

直接在package.json文件里面加上set NODE_OPTIONS=–openssl-legacy-provider如下:

"scripts": {
    "serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --open",
    "start": "set NODE_OPTIONS=--openssl-legacy-provider && npm run serve",
    "dev": "set NODE_OPTIONS=--openssl-legacy-provider && npm run serve",
    "build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --report",
  },

host pc2022 is not allowed to connect to this mysql

update user set host = '%' where user = 'root'; 

FLUSH PRIVILEGES;

前端

语音播报

 const synth = window.speechSynthesis;
    const message = new SpeechSynthesisUtterance();
    function voice_playback(text) {
        message.text = text;
        message.lang = 'zh';
        message.rate = 1; //语速设置,数字越大越快
        synth.speak(message);
    }

mysql

备份的sql执行报错 解决办法

查看配置的大小
show global variables like 'max_allowed_packet';

修改大小
set global max_allowed_packet=1024*1024*150;

linux防火墙

如无法访问管理系统,执行命令 systemctl status firewalld 检查下是否开启了防火墙 ,如状态栏看到绿色显示 Active: active (running) 需要放行 2122 端口。

放行管理系统的 2122 端口

firewall-cmd --add-port=2122/tcp --permanent

重启防火墙才会生效

firewall-cmd --reload

mysql 安装报错 缺少dll

如果出现找不到vcruntime140_1.dll的错误,说明这可能是 windows 缺少vc_redist.x64.exe程序导致的服务安装错误,下载该安装包进行安装即可解决问题,下载链接在这

在这里插入图片描述

安装完成后,如果又出现找不到vcruntime140_1.dll,前往下载 vcruntime140_1.dll 文件,完成下载后,解压文件,并复制到C:\Windows\System32目录下,再次执行mysqld --initialize --console,安装结束后会在cmd界面得到mysql的初始密码:xDaCq<&q;4wd。

1. 2023-02-28T07:35:00.631721Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xDaCq<&q;4wd
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值