- 调用https接口抛出javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path
姚昱辰
成长工作的点点滴滴
问题:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certifica
- jsoup爬虫报错javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
嘀咕博客
jsoup
在使用jsoup爬取某个https开头的网站时(使用了ssl证书的网站),结果出现以下错误:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXpathbuildingfailed:sun.security.provider.certpath.SunCertPathBuilderExce
- 依据视频地址重新转文件上传到服务器获取新的地址
斌cium
springbootjava
做数据迁移将其他部门的视频地址转化到自己服务器下,生成自己的地址privatevoidmodifyPath(Listrecords){ListupdateRecords=newArrayListsetter){try{if(StringUtils.isNotBlank(videoUrl)&&videoUrl.startsWith("https://static")){StringuploadUrl
- @NotNull、@NotBlank、@NotEmpty的区别
SuperChen12356
javaspringboot
@NotNull:平常用于基本数据的包装类(Integer,Long,Double等等),如果@NotNull注解被使用在String类型的数据上,则表示该数据不能为Null,但是可以为空字符串(“”),空格字符串(“”)等。@NotEmpty:平常用于String、Collection集合、Map、数组等等,@NotEmpty注解的参数不能为Null或者长度为0,如果用在String类型上,则字
- BUUCTF-web刷题篇
sszdlbw
web刷题WPwebbuuctf
1.EASYSQL破解密码万能公式:1'and1=11'and'1'='11'or1=11'or'1'='1解释:payloadSELECT*FROMtablesWHEREusername='1'or'1'='1'andpassword='1'or'1'='1'优先级排序:and优先级高于or,所以要计算and然后再计算orusername='1'--->false'1'='1'--->truep
- Linux下配置pptp协议之拨号上网
fengwuJ
linuxlinuxpptp客户端
首先安装pptp,sodoapt-getinstallpptp-linux-y:创建连接:sudopptpsetup--createnodeName--serveryourServerAddr--usernamexxx--passwordxxxconnectionconfigfile为拨号配置文件,可通过pppdcall进行拨号打开配置路由,sudogedit/etc/ppp/ip-up在文件末尾
- spring batch 中JpaNamedQueryProvider、JpaNativeQueryProvider两种查询方式对比
爱的叹息
Java基础整理springbatchoracle
完整代码示例:对比两种查询方式//Employee.java实体类(包含命名查询)@Entity@NamedQuery(name="Employee.findAllNamedQuery",query="SELECTeFROMEmployeeeORDERBYe.id")//定义命名查询publicclassEmployee{@IdprivateLongid;privateStringname;pri
- 基于华三交换机,限制其他网段的IP访问
MagnoliaYa
测试开发交换机网络
限制某网段IP访问有时工作需要,需要限制某些网段的IP访问。以下操作在telnet上进行,基于hc交换机。需要被限制范文的设备是连接在203.2.1.1的交换机上,首先需要连接交换机,telnet连接203.2.1.1或者203.1.1.1密码xxxxxxPassword:system-viewSystemView:returntoUserViewwithCtrl+Z.[L3]查看ACL,当前测试
- 更新测试环境构建命令以解决构建失败问题
大莲芒
前端javascript前端框架
本段代码解决更新测试环境构建命令以解决构建失败问题//本项目是react+umi3+antdesign搭建的后台管理系统"build:test":"cross-envUMI_ENV=testNODE_OPTIONS=--openssl-legacy-providerumibuild"**原因:**Node.jsv17+的OpenSSL3.0与旧依赖不兼容。**解决:**添加NODE_OPTIONS
- 雪球网数据爬取
weixin_30270561
jsongolang数据库
1importrequests2importjson3importpymysql45classmysql_conn(object):6#魔术方法,初始化,构造函数7def__init__(self):8self.db=pymysql.connect(host='127.0.0.1',user='root',password='abc123',port=3306,database='py1011')
- oracle密码过期 ORA-28001: the password has expired
程序羊喜羊羊
oracleoracle数据库
oracle数据库默认profile的密码有效期规则是default,有效期为180天,到期之后的密码就不能使用了,可以通过修改密码有效期或者修改密码后再次使用。1.使用sqlplus连接数据库(或者使用navicat等可视化工具通过管理用户连接)sqlplus"/assysdba"2.查看用户的proifle是哪个,一般是defaultSELECTusername,PROFILEFROMdba_
- Oracle ORA-28001: the password has expired解决办法
idomyway
Oracleoracleora28001expired
前言Oracle提示错误消息ORA-28001:thepasswordhasexpired,是由于Oracle11G的新特性所致,Oracle11G创建用户时缺省密码过期限制是180天(即6个月),如果超过180天用户密码未做修改则该用户无法登录。解决方法1、修改方法ALTERUSER用户名IDENTIFIEDBY密码;修改密码后,会发现该账户会被锁定,这时需要通过如下SQL语句进行解锁:ALTE
- 思庄oracle技术分享-ORA-28001: the password has expired
duanweifang
oracle数据库oracle数据库
问题描述:trace文件中发现存在ora-28001告警,如下所示:数据库:oracle11.2.0.464位MonOct1704:26:022022Errorsinfiled:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_1228.trc(incident=169673):ORA-00600:internalerrorcode,ar
- ORA-28001: the password has expired解决办法
飞奔的yah
数据库
登录数据库一、window登录oracle1)打开cmd,输入:sqlplus/nolog输入:connusername/passworld@数据库名称2)当然还有其他的方式:sql>conn/assyddba;即可登录oracle超级管理员用户(不需要用户和密码)。sql>connusername/password;通过输入用户名和密码的形式可以登录到普通用户。sql>connusername/
- Windows server 2012 设置开机自动登陆并启动启动程序
黄聪的笔记本
python
设置开机自动登陆1、按住Win键,再按R键(Win+R),启动”运行”窗口;2、输入”netplwiz”或”controluserpasswords2″命令;3、在”用户帐户”-“用户”界面中,取消”要使用本机,用户必须输入用户名和密码”复选框;4、按”确定”按钮,在弹出的”自动登录”窗口中输入自动登录用的用户名和密码;5、将要自动打开程序快捷方式放C:\ProgramData\Microsoft
- 使用Python+Flask开发博客项目,并实现内网穿透_flask框架内网攻击
2401_84182428
程序员pythonflask数据库
ifrequest.method=='GET':returnrender_template('login.html')elifrequest.method=='POST':username=request.form.get('username')password=request.form.get('password')user=User.query.filter_by(username=usern
- Dubbo(18)Dubbo的SPI机制是什么?
辞暮尔尔-烟火年年
微服务dubbo
Dubbo的SPI(ServiceProviderInterface)机制是Dubbo框架的重要特性之一,用于实现服务的动态扩展和替换。通过SPI机制,开发者可以在不修改Dubbo源码的情况下,定制和扩展Dubbo的功能。SPI机制的核心思想是通过接口和配置文件的方式,在运行时动态加载和使用具体的实现类。Dubbo的SPI机制借鉴了Java的ServiceLoader机制,但在功能和灵活性上进行了
- 【进阶系列】前端开发环境构建(三)CSS -- Susy
江中散人
css前端
1.3Susy——CSS框架Susy是一个基于NatalieDowne的CSSSystems的CSS框架,通过Sass实现,利用Compass来简化,可用于静态网站以及各种框架应用。ResponsivelayouttoolkitforSass:Susyisanagnosticsetoftoolsforcreatingpowerful,customlayouts.Weprovidethelangua
- SpringBoot项目部署到外部Tomcat的相关配置
长春小霸王
javatomcatspringbootjava
在开发阶段我们推荐使用内嵌的tomcat进行开发,因为这样会方便很多,但是到生成环境中,需要将项目部署到外部Tomcat中运行,此时需要一些额外的配置:1.pom.xml调整1.1打包方式修改jar变更为war1.2将spring-boot-starter-tomcat的范围设置为providedscope设置为provided,将springboot的内置Tomcat在打包时排除org.spri
- Android强大的工具类,感谢原创,收藏!收藏!
SHEGANG2020
javaandroid开发语言
AndroidUtilCode是一个功能强大且易于使用的Android库。该库封装了Android开发中经常使用的具备完整演示和单元测试的功能。经过使用其封装的API,能够大大提升开发效率。该程序主要由两个模块组成,它们是utilcode(一般在开发中使用)和subutil(在开发中不多使用),可是utils有助于简化模块。GitHub地址:https://github.com/Blankj/An
- 从 Neo4j 数据库中提取数据并绘制图谱
山外有山a
neo4j数据库
代码说明:连接Neo4j数据库:使用py2neo.Graph连接到Neo4j数据库。确保替换uri、username和password为你的实际配置。Cypher查询:查询数据库中的节点和关系,限制返回的记录数(例如LIMIT100)以避免性能问题。NetworkX图对象:使用networkx.MultiDiGraph创建一个有向图对象。将查询结果中的节点和关系添加到图中。绘制图形:使用matpl
- 在 Flutter 开发中如何选择状态管理:Provider 和 GetX 比较
面壁思过程
flutter开发flutter状态管理
在Flutter开发中,状态管理是一个至关重要的部分。正确的状态管理方案能够提高应用的可维护性和可扩展性。在众多状态管理方案中,Provider和GetX是两种非常流行的选择。本文将对这两者进行比较,并提供代码示例,以帮助开发者选择适合的状态管理方案。一、Provider概述Provider是Flutter官方推荐的状态管理库,它基于InheritedWidget构建,提供了一种简单而有效的状态管
- SpringBoot使用Websocket技术实现聊天功能--后端部分(三)
oct1025
Ideawebsocketspringboot后端
所需依赖:javax.websocketjavax.websocket-api1.1providedorg.springframework.bootspring-boot-starter-freemarkerorg.springframework.bootspring-boot-starter-websocket-->org.apache.tomcat.embed-->tomcat-embed-w
- CentOS7 建立虚拟用户的账号数据库并为vsftpd服务器添加虚拟用户支持的脚本
ip网络探花
服务器linux运维
#!/bin/bash#检查是否以root用户运行if["$(id-u)"-ne0];thenecho"此脚本必须以root用户身份运行。"exit1fi#安装必要的软件包yum-yinstallvsftpddb4-utils#提示输入虚拟用户名和密码read-p"请输入要创建的虚拟用户名:"usernameread-s-p"请输入该虚拟用户的密码:"passwordecho#创建虚拟用户信息文件
- 深入掌握Spring AOP:从原理到实战的完整指南
躲在云朵里`
springjava数据库
一、AOP核心概念与实战引入1.1传统开发中的痛点以用户登录场景为例,假设我们有一个基础登录功能:publicclassLoginService{publicvoidlogin(Stringusername,Stringpassword){//验证用户名密码System.out.println("核心登录逻辑执行");}}现在需要新增权限校验功能,传统方案有两种:修改源代码:侵入性强,违反开闭原则
- python抛出异常
绝牛雷犁热刀
python动态规划leetcode
definput_password():#1.提示用户输入密码pwd=input("请输入密码:")#2.判断密码长度是否大于等于8iflen(pwd)>=8:#大于等于8则返回密码returnpwd#3.小于8则抛出异常print("抛出异常对象")#1>创建异常对象ex=Exception("密码长度不够")#2>抛出异常raiseextry:print(input_password())ex
- AWS SaaS Factory EKS 参考架构教程
殷泳娓
AWSSaaSFactoryEKS参考架构教程aws-saas-factory-eks-reference-architectureThisrepositoryprovidesareferencearchitectureforbuildinganendtoendSaaSsolutionusingAmazonElasticKubernetesService(EKS)项目地址:https://gitc
- 运维知识:Linux 密码策略:配置、注意事项与实战详解
浩特-ht
运维linux服务器
Linux密码策略:配置、注意事项与实战详解一、为什么需要密码策略?Linux密码策略用于强制用户设置安全的密码,防止弱密码(如123456、password)被暴力破解,提升系统安全性。核心目标:平衡安全性与用户体验,避免密码过于复杂导致用户记录或重复使用弱密码。二、密码策略的配置文件Linux密码策略主要通过以下两个文件配置:1./etc/login.defs(全局策略)作用:定义密码有效期、
- AWS SaaS Factory EKS 参考架构项目教程
冯海莎Eliot
AWSSaaSFactoryEKS参考架构项目教程aws-saas-factory-eks-reference-architectureThisrepositoryprovidesareferencearchitectureforbuildinganendtoendSaaSsolutionusingAmazonElasticKubernetesService(EKS)项目地址:https://gi
- json处理(jackson)
郑重其事,鹏程万里
常用类库APIjson
ObjectMapper配置方法(链式调用)方法描述registerModule(Modulemodule)注册模块registerModules(Module…modules)注册多个模块findAndRegisterModules()查找并注册模块setSerializerFactory(SerializerFactoryf)设置序列化工厂setSerializerProvider(Defau
- Hadoop(一)
朱辉辉33
hadooplinux
今天在诺基亚第一天开始培训大数据,因为之前没接触过Linux,所以这次一起学了,任务量还是蛮大的。
首先下载安装了Xshell软件,然后公司给了账号密码连接上了河南郑州那边的服务器,接下来开始按照给的资料学习,全英文的,头也不讲解,说锻炼我们的学习能力,然后就开始跌跌撞撞的自学。这里写部分已经运行成功的代码吧.
在hdfs下,运行hadoop fs -mkdir /u
- maven An error occurred while filtering resources
blackproof
maven报错
转:http://stackoverflow.com/questions/18145774/eclipse-an-error-occurred-while-filtering-resources
maven报错:
maven An error occurred while filtering resources
Maven -> Update Proje
- jdk常用故障排查命令
daysinsun
jvm
linux下常见定位命令:
1、jps 输出Java进程
-q 只输出进程ID的名称,省略主类的名称;
-m 输出进程启动时传递给main函数的参数;
&nb
- java 位移运算与乘法运算
周凡杨
java位移运算乘法
对于 JAVA 编程中,适当的采用位移运算,会减少代码的运行时间,提高项目的运行效率。这个可以从一道面试题说起:
问题:
用最有效率的方法算出2 乘以8 等於几?”
答案:2 << 3
由此就引发了我的思考,为什么位移运算会比乘法运算更快呢?其实简单的想想,计算机的内存是用由 0 和 1 组成的二
- java中的枚举(enmu)
g21121
java
从jdk1.5开始,java增加了enum(枚举)这个类型,但是大家在平时运用中还是比较少用到枚举的,而且很多人和我一样对枚举一知半解,下面就跟大家一起学习下enmu枚举。先看一个最简单的枚举类型,一个返回类型的枚举:
public enum ResultType {
/**
* 成功
*/
SUCCESS,
/**
* 失败
*/
FAIL,
- MQ初级学习
510888780
activemq
1.下载ActiveMQ
去官方网站下载:http://activemq.apache.org/
2.运行ActiveMQ
解压缩apache-activemq-5.9.0-bin.zip到C盘,然后双击apache-activemq-5.9.0-\bin\activemq-admin.bat运行ActiveMQ程序。
启动ActiveMQ以后,登陆:http://localhos
- Spring_Transactional_Propagation
布衣凌宇
springtransactional
//事务传播属性
@Transactional(propagation=Propagation.REQUIRED)//如果有事务,那么加入事务,没有的话新创建一个
@Transactional(propagation=Propagation.NOT_SUPPORTED)//这个方法不开启事务
@Transactional(propagation=Propagation.REQUIREDS_N
- 我的spring学习笔记12-idref与ref的区别
aijuans
spring
idref用来将容器内其他bean的id传给<constructor-arg>/<property>元素,同时提供错误验证功能。例如:
<bean id ="theTargetBean" class="..." />
<bean id ="theClientBean" class=&quo
- Jqplot之折线图
antlove
jsjqueryWebtimeseriesjqplot
timeseriesChart.html
<script type="text/javascript" src="jslib/jquery.min.js"></script>
<script type="text/javascript" src="jslib/excanvas.min.js&
- JDBC中事务处理应用
百合不是茶
javaJDBC编程事务控制语句
解释事务的概念; 事务控制是sql语句中的核心之一;事务控制的作用就是保证数据的正常执行与异常之后可以恢复
事务常用命令:
Commit提交
- [转]ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
bijian1013
java多线程线程安全HashMap
在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。 Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的
- ng-if与ng-show、ng-hide指令的区别和注意事项
bijian1013
JavaScriptAngularJS
angularJS中的ng-show、ng-hide、ng-if指令都可以用来控制dom元素的显示或隐藏。ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素。当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示。ng-hide功能类似,使用方式相反。元素的显示或
- 【持久化框架MyBatis3七】MyBatis3定义typeHandler
bit1129
TypeHandler
什么是typeHandler?
typeHandler用于将某个类型的数据映射到表的某一列上,以完成MyBatis列跟某个属性的映射
内置typeHandler
MyBatis内置了很多typeHandler,这写typeHandler通过org.apache.ibatis.type.TypeHandlerRegistry进行注册,比如对于日期型数据的typeHandler,
- 上传下载文件rz,sz命令
bitcarter
linux命令rz
刚开始使用rz上传和sz下载命令:
因为我们是通过secureCRT终端工具进行使用的所以会有上传下载这样的需求:
我遇到的问题:
sz下载A文件10M左右,没有问题
但是将这个文件A再传到另一天服务器上时就出现传不上去,甚至出现乱码,死掉现象,具体问题
解决方法:
上传命令改为;rz -ybe
下载命令改为:sz -be filename
如果还是有问题:
那就是文
- 通过ngx-lua来统计nginx上的虚拟主机性能数据
ronin47
ngx-lua 统计 解禁ip
介绍
以前我们为nginx做统计,都是通过对日志的分析来完成.比较麻烦,现在基于ngx_lua插件,开发了实时统计站点状态的脚本,解放生产力.项目主页: https://github.com/skyeydemon/ngx-lua-stats 功能
支持分不同虚拟主机统计, 同一个虚拟主机下可以分不同的location统计.
可以统计与query-times request-time
- java-68-把数组排成最小的数。一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的。例如输入数组{32, 321},则输出32132
bylijinnan
java
import java.util.Arrays;
import java.util.Comparator;
public class MinNumFromIntArray {
/**
* Q68输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。
* 例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题
- Oracle基本操作
ccii
Oracle SQL总结Oracle SQL语法Oracle基本操作Oracle SQL
一、表操作
1. 常用数据类型
NUMBER(p,s):可变长度的数字。p表示整数加小数的最大位数,s为最大小数位数。支持最大精度为38位
NVARCHAR2(size):变长字符串,最大长度为4000字节(以字符数为单位)
VARCHAR2(size):变长字符串,最大长度为4000字节(以字节数为单位)
CHAR(size):定长字符串,最大长度为2000字节,最小为1字节,默认
- [强人工智能]实现强人工智能的路线图
comsci
人工智能
1:创建一个用于记录拓扑网络连接的矩阵数据表
2:自动构造或者人工复制一个包含10万个连接(1000*1000)的流程图
3:将这个流程图导入到矩阵数据表中
4:在矩阵的每个有意义的节点中嵌入一段简单的
- 给Tomcat,Apache配置gzip压缩(HTTP压缩)功能
cwqcwqmax9
apache
背景:
HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,
- SpringMVC and Struts2
dashuaifu
struts2springMVC
SpringMVC VS Struts2
1:
spring3开发效率高于struts
2:
spring3 mvc可以认为已经100%零配置
3:
struts2是类级别的拦截, 一个类对应一个request上下文,
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现r
- windows常用命令行命令
dcj3sjt126com
windowscmdcommand
在windows系统中,点击开始-运行,可以直接输入命令行,快速打开一些原本需要多次点击图标才能打开的界面,如常用的输入cmd打开dos命令行,输入taskmgr打开任务管理器。此处列出了网上搜集到的一些常用命令。winver 检查windows版本 wmimgmt.msc 打开windows管理体系结构(wmi) wupdmgr windows更新程序 wscrip
- 再看知名应用背后的第三方开源项目
dcj3sjt126com
ios
知名应用程序的设计和技术一直都是开发者需要学习的,同样这些应用所使用的开源框架也是不可忽视的一部分。此前《
iOS第三方开源库的吐槽和备忘》中作者ibireme列举了国内多款知名应用所使用的开源框架,并对其中一些框架进行了分析,同样国外开发者
@iOSCowboy也在博客中给我们列出了国外多款知名应用使用的开源框架。另外txx's blog中详细介绍了
Facebook Paper使用的第三
- Objective-c单例模式的正确写法
jsntghf
单例iosiPhone
一般情况下,可能我们写的单例模式是这样的:
#import <Foundation/Foundation.h>
@interface Downloader : NSObject
+ (instancetype)sharedDownloader;
@end
#import "Downloader.h"
@implementation
- jquery easyui datagrid 加载成功,选中某一行
hae
jqueryeasyuidatagrid数据加载
1.首先你需要设置datagrid的onLoadSuccess
$(
'#dg'
).datagrid({onLoadSuccess :
function
(data){
$(
'#dg'
).datagrid(
'selectRow'
,3);
}});
2.onL
- jQuery用户数字打分评价效果
ini
JavaScripthtmljqueryWebcss
效果体验:http://hovertree.com/texiao/jquery/5.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery用户数字打分评分代码 - HoverTree</
- mybatis的paramType
kerryg
DAOsql
MyBatis传多个参数:
1、采用#{0},#{1}获得参数:
Dao层函数方法:
public User selectUser(String name,String area);
对应的Mapper.xml
<select id="selectUser" result
- centos 7安装mysql5.5
MrLee23
centos
首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.
- 利用thrift来实现消息群发
qifeifei
thrift
Thrift项目一般用来做内部项目接偶用的,还有能跨不同语言的功能,非常方便,一般前端系统和后台server线上都是3个节点,然后前端通过获取client来访问后台server,那么如果是多太server,就是有一个负载均衡的方法,然后最后访问其中一个节点。那么换个思路,能不能发送给所有节点的server呢,如果能就
- 实现一个sizeof获取Java对象大小
teasp
javaHotSpot内存对象大小sizeof
由于Java的设计者不想让程序员管理和了解内存的使用,我们想要知道一个对象在内存中的大小变得比较困难了。本文提供了可以获取对象的大小的方法,但是由于各个虚拟机在内存使用上可能存在不同,因此该方法不能在各虚拟机上都适用,而是仅在hotspot 32位虚拟机上,或者其它内存管理方式与hotspot 32位虚拟机相同的虚拟机上 适用。
- SVN错误及处理
xiangqian0505
SVN提交文件时服务器强行关闭
在SVN服务控制台打开资源库“SVN无法读取current” ---摘自网络 写道 SVN无法读取current修复方法 Can't read file : End of file found
文件:repository/db/txn_current、repository/db/current
其中current记录当前最新版本号,txn_current记录版本库中版本