Java个人遇到问题汇总

news2024/9/28 9:26:12

问题汇总

  • 1. 虚拟机
    • 1.1 CentOS7
      • 1) 连不上网络
        • 问题
        • 解决
    • 1.2 Docker
      • 1) 私服配置无法重启docker
        • 问题
        • 解决
        • 后续
  • 2. SSMP
    • 2.1 Spring
      • 1) 测试类一直空指针
        • 问题
        • 解决
    • 2.2 MyBatis MyBatis-Plus
      • 1) IDEA加入方言后SQL语句依然不提示
        • 解决
      • 2) MP更新数据,更新了其他列
      • 问题
        • 解决
  • 3.SpringBoot
    • 3.1 Thymeleaf
      • 1) th:onclike传入多个参数会报错
      • 2) SpringBoot 使用 `java -jar` 打包运行时Thymeleaf Engine报错500
  • 4. MySQL
    • 1) 存入时间,时间总是提前8小时
  • 5. Maven
    • 1)Maven打包时出现There are test failures错误
  • 6.ElasticSearch
    • 1) ES部署到Linux上一直无法启动
      • 原因一
      • 原因二

1. 虚拟机

1.1 CentOS7

1) 连不上网络

问题

修改虚拟机内存或核心或有时候开机会连不上网络

解决

image-20230115145911099

service NetworkManager stop
service network restart

1)service network restart 重启连接网络,若失败的话,执行第二条
2)service NetworkManager stop
3)重新执行第一条,会发现网络连上,并分配了IP地址

1.2 Docker

1) 私服配置无法重启docker

问题

配置完Docker私服信任后,重启docker报错

[root@localhost qiuyu]# systemctl start docker
Job for docker.service failed because start of the service was attempted too often. See "systemctl status docker.service" and "journalctl -xe" for details.
To force a start use "systemctl reset-failed docker.service" followed by "systemctl start docker.service" again.

解决

将/etc/docker/ 下的 daemon.json 改为 daemon.conf

重启docker,解决!

后续

还是得改回json格式,否者后面上传镜像无法读取到

2. SSMP

2.1 Spring

1) 测试类一直空指针

问题

使用了Mybatis-Plus

自动装配Dao接口,自动装配失败,得到空指针

image-20230116020444637

解决

使用 @RunWith(SpringRunner.class) 先开启Spring

2.2 MyBatis MyBatis-Plus

1) IDEA加入方言后SQL语句依然不提示

解决

https://mybatis.org/dtd/mybatis-3-mapper.dtd

改为http://mybatis.org/dtd/mybatis-3-mapper.dtd

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.qiuyu.dao.UserMapper">
    <select id="selectByName" parameterType="string" resultType="User">
        select * from community.user where username = #{username}
    </select>

</mapper>

2) MP更新数据,更新了其他列

问题

如果Bean中使用了基本数据类型,比如下面的userid,默认会赋0

@Data
@NoArgsConstructor
@AllArgsConstructor
public class LoginTicket {
    private int id;
    private int userId;
    private String ticket;
    private int status;
    private Date expired;
}

在进行更新时,本来只想更新状态的,userid也会被更新为0

public void logout(String ticket){
    LoginTicket loginTicket = new LoginTicket();
    loginTicket.setStatus(1);
    loginTicketMapper.update(loginTicket,new LambdaUpdateWrapper<LoginTicket>().eq(LoginTicket::getTicket,ticket));
}

解决

Bean中别使用基本数据类型,使用装箱类

@Data
@NoArgsConstructor
@AllArgsConstructor
public class LoginTicket {
    private Integer id;
    private Integer userId;
    private String ticket;
    private Integer status;
    private Date expired;

}

3.SpringBoot

3.1 Thymeleaf

1) th:onclike传入多个参数会报错

<a href="javascript:;"   th:onclick="|like(this,1,${post.id},${post.userId})|">

这是Thymeleaff防止注入

解决

  1. 定义多个th:data-*
<a href="javascript:;"  th:data-id="${post.id}" th:data-userId="${post.userId}"
   th:onclick="|like(this,1,this.getAttribute('data-id'),this.getAttribute('data-userId'))|">
  1. ||去掉,用[[ ]]将参数包围
<a href="javascript:;"   th:onclick="like(this,1,[[${post.id}]],[[${post.userId}]])">

2) SpringBoot 使用 java -jar 打包运行时Thymeleaf Engine报错500

Error resolving template [/index], template might not exist or might not be accessible by any of the configured Template Resolvers

打包时不能在站点前面不能使用/

image-20230130220055031

去掉/后不会报错500

image-20230130220028462

4. MySQL

1) 存入时间,时间总是提前8小时

将配置中的时区进行修改

把UTC改为上海时区

url: jdbc:mysql://localhost:3307/community?serverTimezone=Asia/Shanghai&useSSL=false

5. Maven

1)Maven打包时出现There are test failures错误

禁止掉测试就行

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <testFailureIgnore>true</testFailureIgnore>
            </configuration>
        </plugin>
    </plugins>
</build>

6.ElasticSearch

1) ES部署到Linux上一直无法启动

9200端口可以访问,但是 ElasticSearch的实体类无法被映射,导致ES无法启动

原因一

MySQL在Windows中是不区分大小写的,在Linux中区分大小,所以需要把Linux中的大小写敏感去掉

尝试过去修改/etc/mysql/…/my.cnf

但是因为这时候容器已经初始化完毕了,所以mysql会无法启动

最终解决==> docker运行容器的时候 加上 --lower-case-table-names=1

docker run \
--name mysql \
-e MYSQL_ROOT_PASSWORD=qiuyu \
-p 3306:3306 \
-v /opt/docker/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /opt/docker/mysql/data:/var/lib/mysql \
-d \
mysql:5.7.25 --lower-case-table-names=1

原因二

MySQL在高版本中需要加入时区和SSL设置,缺一不可

serverTimezone=Asia/Shanghai&useSSL=false

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/186684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nginx学习笔记8(小滴课堂)

nginx第三方利器---OpenRestyLua介绍 OpenRestyLua的相关环境准备 我们先来去安装我们的OpenResty: 我们按照官网的要求去配置就可以了&#xff1a; 按照官网的步骤一步一步去走就可以了。 然后我们开始去安装我们的OpenResty: 这里有非常多的安装包吧&#xff0c;我们到时候需…

硬件---计算机概论

电脑硬件的五大单元 输入单元&#xff1a;包括键盘、鼠标、卡片阅读机、扫描仪、手写板、触控屏幕等等一堆&#xff1b;主机部分(控制单元、算数逻辑单元与主存储器)&#xff1a;这个就是系统单元&#xff0c;被主机机壳保护住了&#xff0c;里面含有一堆板子、CPU 与主存储器…

为什么u盘不显示数据?u盘不显示数据恢复的3种方法

虽然u盘在数据备份、重装系统或其他领域中都能发挥很大的作用&#xff0c;但是在使用过程中难免会遇到一些问题&#xff0c;比如u盘数据不显示&#xff01;那么&#xff0c;遇到u盘不显示数据怎么解决呢&#xff1f;阅读本文&#xff0c;您将知晓u盘不显示数据的常见原因和相应…

Deep Learning Tuning Playbook(中译版)

前言 由五名研究人员和工程师组成的团队发布了《Deep Learning Tuning Playbook》&#xff0c;来自他们自己训练神经网络的实验结果以及工程师的一些实践建议&#xff0c;目前在Github上已有1.5k星。原项目地址本文为《Deep Learning Tuning Playbook》中文翻译版本&#xff0…

Vuex状态管理器

目录 1、什么是vuex 2、vuex的使用场景&#xff1a; 3、vuex的工作方式&#xff1a; 4、vuex的核心API ​ &#xff08;1&#xff09;state&#xff1a; &#xff08;2&#xff09;mutations &#xff08;3&#xff09;actions&#xff1a;通过actions去触发mutations中…

2023.1.30 作业

一、TF-A的初步移植1、对tf-a源码进行解压tar -xvf tf-a-stm32mp-2.2.r2-r0.tar.gz2、进入tf-a源码顶层目录cd tf-a-stm32mp-2.2.r23、对tf-a源码进行打补丁操作for p in ls -1 ../*.patch; do patch -p1 < $p; done4、配置交叉编译工具链&#xff0c;打开../Makefile.sdk&a…

2023牛客寒假算法基础集训营4(7/13)

清楚姐姐学信息论数学&#xff0c;只需要求x的y次方和y的x次方那个大选哪个&#xff0c;除了2和3时是3多&#xff0c;其他情况都是数越小能代表的数越多AC代码&#xff1a;#include <bits/stdc.h> using namespace std; using LL long long; int main() {ios::sync_with…

ESP32 Arduino学习篇 (三) 蓝牙

简介&#xff1a;1.1蓝牙分类经典蓝牙我们一般说的是BT&#xff0c;低功耗蓝牙我们一般说成BLE。当设备支持蓝牙4.0时&#xff0c;还得进一步确认设备是支持BT单模、BLE单模还是BT和BLE都支持的双模。低功耗蓝牙 (BLE)&#xff1a; 支持蓝牙协议4.0或更高的模块。主打低功耗&am…

手上有了这些工具,明天争取6点下班!

一个优秀的开发者&#xff0c;一定是会利用各种工具来提升自己的开发效率。这段时间&#xff0c;我开始分享优质提升开发效率的工具&#xff0c;集成效率工具&#xff0c;开源集成网站等等&#xff0c;朋友们一直在催更&#xff0c;我知道你很急&#xff0c;但是你先别急&#…

最短路径算法刷题笔记

Dijkstra最短路算法 带负权则无法处理&#xff0c;不能使用Dijkstra算法 Dijkstra算法以 点 出发。D——点从剩下的点里的最短路dis最小的出发 SPFA单源最短路算法 算是bellman-ford算法 对于稀疏图来说&#xff0c;比Dijkstra算法快 SPFA算法可以用于有负权图有负环则不行 …

文档扫描OCR识别_积累

opecncv和python的积累cv2.resize()功能&#xff1a;对图像尺寸调整为指定大小dst cv2.resize(src, dsize, interpolationNone)各参数释义&#xff1a;scr&#xff1a; 输入图像dst: 输出图像dsize&#xff1a; 输出图像的尺寸&#xff0c;为元组格式(x, y)&#xff0c;(300, …

MySQL基础(2)—— 初识MySQL

文章目录客户端 - 服务器架构MySQL的可执行文件1、在命令行解释器中运行可执行文件2、服务器程序和客户端程序2.1 服务器程序 mysqld2.2 客户端程序 mysql注意事项1、客户端 - 服务器连接注意事项2、SQL语句使用注意事项客户端 - 服务器架构 MySQL当中存在客户端和服务器&…

不知道该学那一个语言?一文带你了解三门语言

名字&#xff1a;阿玥的小东东 学习&#xff1a;Python。正在学习c 主页&#xff1a;阿玥的小东东 目录 粉丝留言&#xff0c;回答问题 1.首先&#xff0c;初步了解 2.再明确自己要拿编程做什么 3.详细介绍以及建议 4.劝告 5.总结 1.如果你是一个初学者 2.你是个老手 …

vulnhub之COFFEE ADDICTS: 1

1.信息收集 输入arp-scan 192.168.239.0/24发现192.168.239.168主机存活。 使用nmap对目标主机192.168.239.168进行端口收集,&#xff0c;发现存活端口&#xff1a;22、80。 访问http://192.168.239.168/&#xff0c;提示将coffeeaddicts.thm加入到/etc/hosts中 加入之后访…

docker 安装启动异常

问题现象1 yum install docker -y #安装docker后&#xff0c;在启动docker时出现 排查过程 查看系统日志下面软件运行日志messages日志&#xff0c;出现如下错误 在docker的配置文件种有异常的文件符号存在&#xff0c;那么接下来就百度一下正常的docker的配置文件是如何的…

【HBase——陌陌海量存储案例】6. 预分区表

6.5 预分区表 默认创建表的方式&#xff0c;则HBase顺序写入可能会受到RegionServer热点的影响。对行键进行加盐可以解决热点问题。在HBase中&#xff0c;可以使用两种方式&#xff1a; 1.ROWKEY预分区 2.加盐指定数量分区 6.5.1 ROWKEY预分区 按照用户ID来分区&#xff0c;一…

Docker 入门详解!新手也能看懂!

接下来通过4方面来初步了解docker docker介绍docker架构docker镜像操作docker容器操作 一、docker介绍 容器技术 计算机的世界中&#xff0c;容器拥有一段漫长且传奇的历史。容器与管理程序虚拟化 &#xff08;hypervisor virtualization&#xff0c;HV&#xff09;有所不同…

postman断言使用总结

一、断言的概念一个完整的接口测试包括&#xff1a;请求——>获取响应结果——>断言断言&#xff1a;实际结果与预期结果的校验二、断言的作用通过实际结果与预期结果的对比&#xff0c;来判断接口测试用例是否通过&#xff1b;对比结果一致则通过&#xff0c;对比结果不…

webgl绘制图形API——drawArrays、drawElements

文章目录前言gl.drawArrays()——按顶点绘制可绘制基本类型绘制矩形和圆形gl.drawElements()——按索引绘制使用规范绘制矩形总结前言 gl.drawArrays()作为webgl中常用的函数图形绘制方法&#xff0c;可以在浏览器按照指定的模式绘制图形&#xff0c;与之相对的gl.drawElement…

字节跳动测试岗面试挂在2面,复盘后,我总结了失败原因,决定再战一次...

先说下我基本情况&#xff0c;本科不是计算机专业&#xff0c;现在是学通信&#xff0c;然后做图像处理&#xff0c;可能面试官看我不是科班出身没有问太多计算机相关的问题&#xff0c;因为第一次找工作&#xff0c;字节的游戏专场又是最早开始的&#xff0c;就投递了&#xf…