SourceURL:file:///home/mrl/文档/1.8周报.docx
周报
代码行数:
周一 | 611 |
周二 | 672 |
周三 | 524 |
周四 | 528 |
周五 | 450 |
周六 | 545 |
周日 | 564 |
遇到的问题:
系统配置问题:
在升级安装python3时,由于操作失误,导致系统错误,在同事帮助下重装了系统,好在保住了文件。但是软件还得重新配置。
getMobileByScene接口在localhost环境不能成功实现功能,初步判断可能是由于本机没有安装redis导致。后确定是没有vpn导致连接redis失败,localhost环境依旧连接远程redis。
安装vpn走了很多弯路,但也同样看到了不同的风景,收获了很多经验,
linux安装vpn时官方给的教程:
可是ubnutu里没有yum,我得先下载yum
而默认镜像源里找不到yum软件包,
我试了清华,科大,网易,阿里,四个镜像源都找不到软件包
最后用过期的老镜像源下载,
但是老镜像源没有凭证,需要、先获取凭证。
最后好不容易把yum搞定;
接着按照教程进行,报错了:
原来是没解压证书
接着解压,有了新的错误:
在搜索无果后,联系了负责相关事务的同事;
告诉我不能复制压缩包后解压,
要先解压,然后再一个一个文件拷贝进来;
还是报错;
最后同事给我发送了新的证书,重复上述操作后,还是报错,不过可以ping通了,
虽然不完美,但是凑合还能用。
项目报错处理
缺少
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
和
<build><!-- 构建项目需要的信息 -->
<resources><!-- 这个元素描述了项目相关的所有资源路径列表,例如和项目相关的属性文件,这些资源被包含在
最终的打包文件里。 -->
<resource> <!-- 这个元素描述了项目相关或测试相关的所有资源路径 -->
<directory>src/main/resources/</directory> <!-- 描述存放资源的目录,该路径相对POM路径 -->
<filtering>true</filtering><!-- 是否使用参数值代替参数名。参数值取自properties元素或者文件里配置的属性,文件在filters元素里列出。 -->
<includes><!-- 包含的模式列表,例如**/*.xml. -->
<include>**/*</include>
</includes>
</resource>
</resources>
<plugins><!-- 使用的插件列表 。 -->
<plugin> <!-- plugin元素包含描述插件所需要的信息。 -->
<groupId>org.springframework.boot</groupId> <!-- 插件在仓库里的group ID -->
<artifactId>spring-boot-maven-plugin</artifactId> <!-- 插件在仓库里的artifact ID -->
<version>2.5.3</version><!-- 被使用的插件的版本(或版本范围) -->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration><!-- 作为DOM对象的配置 -->
<!-- 使用默认的变量标记方法即${*} -->
<useDefaultDelimiters>true</useDefaultDelimiters>
</configuration>
</plugin>
</plugins>
</build>
后报错:
NoClassDefFoundError:
tk/mybatis/mapper/mapperhelper/MapperTemplate
解决:添加注解
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.4</version>
</dependency>
后通过Maven-生命周期-clean-install,定位jdk版本过高的问题,更换jdk1.8解决;
springboot3.0.0版本过高,与部分依赖不兼容,调整至2.5.3版本;
后报错:
Caused by: java.lang.NoClassDefFoundError: org/mybatis/logging/LoggerFactory
原因:mybatis-spring-boot与mybatis-plus冲突
解决:
刚开始,因为mybatis-plus整合了mybatis-spring-boot,所以尝试删除mybatis-spring-boot,
但是删除后mapper-spring-boot-starter依旧使用mybatis-spring-boot,依旧不能·解决冲突问题,
然后看网上说两个版本接近可以避免冲突,遂调整版本。
在多次尝试无果后,一次手误把mybatis-plus依赖删除,程序正常运行了!!!
我早怎么没想到呢。。。
程序运行了,我开始测试接口功能,有的好用,有的不好用
报错:
报错原因:TestMrlMapper.xml找不到
解决:
核对映射地址;
核对方法名;
重连数据库;
检查pom.xml的中配置resource;
都没找到问题。
最后发现:
配置文件里用的还是mybatis-plus,改成:
程序启动,数据无论如何都出错,一开始以为是因为.xml里的mysql语句有问题。后来询问得知:要配置yum文件中的环境,要让其指向现在使用的数据库。
遇到报错:
nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='carNo', m
原因:sql中if语句参数写错了。
知识点:
shell相关知识:
Shell 是什么。Shell 这个单词的原意是“外壳”,跟 kernel(内核)相对应,比喻内核外面的一层,即用户跟内核交互的对话界面。
用户可以用 Shell 命令写出各种小程序,又称为脚本(script)。这些脚本都通过 Shell 的解释执行,而不通过编译。
Bash 是目前最常用的 Shell,我的系统使用的就是bash
变量的取用与配置:echo, 变量配置守则, unset
变量在被取用时,前面必须要加上钱字号『 $ 』
学习了vim的使用
常用编辑命令:
dd | 删除游标所在的那一整列(常用) |
yy | 复制游标所在的那一行(常用) |
p, P | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行 |
:wq | 储存后离开,若为 :wq! 则为强制储存后离开 (常用) |
:qa! | 不保存直接离开 |
ubuntu不支持yum,可以使用apt-get代替,但是我是安装完yum才知道。。。
在安装过程中,学会了怎么替换镜像源,加深了对vim的使用。
包括文件权限问题的处理。软件列表更新和软件更新。
最后成功安装了vpn。
@RequestBody注解只能使用一个,所以传参时只有一个json,这时候就显现VO类与Entity的不同用法
为getQRcodeAndScene增加版本区分功能,加入env_version参数,然而,有三种环境版本,我要怎么根据不同环境来取不同版本呢?
把其定义成变量
在不同环境的.yml文件中赋对应值
学习使用arthas
终端启动:
cd /usr/share/arthas
sudo su mrl && ./as.sh
sudo -u mrl -EH ./as.sh
java -jar arthas-boot.jar
trace 能方便的帮助你定位和发现因 RT 高而导致的性能问题缺陷,但其每次只能跟踪一级方法的调用链路。
trace demo.MathGame run
心得体会:
这周,在完成前辈布置的test作业以外,完成了不少项目接口的开发,和升级。以前以为代码写完了就跟我没关系了,这周发现没那么简单,好几个接口的需求,发生变化就需要我对接口进行改动,升级。还得配合前端,一起完成功能的正常实现。
有些东西要学以致用,在休息时,跟前辈聊了聊毕设,答辩。
前辈也在我的构思上指出不合理,和可以优化的地方。而我刚好在工作时,就把前辈的思想用在了接口上。
一些新的思想,新的方法,进阶的代码优化,更好的功能实现方式。都是需要我学习和积累的。