Deprecated: Creation of dynamic property Typecho\Widget\Request::$feed is deprecated in /www/wwwroot/blog.iletter.top/var/Widget/Archive.php on line 246
白荼日记 - 故障
https://blog.iletter.top/index.php/tag/%E6%95%85%E9%9A%9C/
-
windows server 2019 docker安装
https://blog.iletter.top/index.php/archives/365.html
2025-07-14T17:11:31+08:00
windows server 2019 docker安装最近把家里的旧服务器搬到出租屋里面来了,准备当服务器用来着,二十年前的老机器了。想着用微信hook的功能,所以选择的windows server。配置好一些环境之后开始配置docker环境除了一些问题。启用Hyper-V和Containers功能运行管理员权限powershellInstall-WindowsFeature -Name Hyper-V,Containers -IncludeAllSubFeature -IncludeManagementTools -Verbose配置安装源Install-Module -Name DockerMsftProvider -Repository PSGallery -Verbose安装Docker运行管理员权限powershell,国内安装可能会因为网络原因失败,可以尝试手动安装,如果按照成功这下面步骤不用进行了Install-Package -Name docker -ProviderName DockerMsftProvider -Verbose下载文件PS C:\Users\Administrator\Desktop> Invoke-WebRequest -UseBasicParsing -OutFile D:\docker-28.3.2.zip https://download.docker.com/win/static/stable/x86_64/docker-28.3.2.zip文件下载地址https://download.docker.com/win/static/stable/x86_64/配置系统环境变量Path注册为系统服务dockerd --register-service -H npipe:// -H tcp://0.0.0.0:2375 --config-file "D:\Env\docker\config\daemon.json"配置文件内容D:\Env\docker\config\daemon.json{
"dns": ["114.114.114.114", "8.8.8.8"],
"data-root": "D:\\Env\\docker\\data",
"registry-mirrors": ["https://registry.docker-cn.com"]
}其他命令设置Docker开机启动Set-Service -Name docker -StartupType Automatic启动 Docker 服务Start-Service docker重启 Docker 服务Restart-Service Docker -Force停止 Docker 服务Stop-Service Dockerdocker-compose下载https://github.com/docker/compose/releases1.下载适用于 Windows 的 docker-compose-Windows-x86_64.exe 文件。2.将文件重命名为 docker-compose.exe 并移动到 Docker 安装目录(如 D:\Env\docker)ps:安装完了我才发现,windows server 2019的docker不支持linux的容器,要想弄,还要一个wsl支持,或者升级机器配置。想想还是算了,直接换ubuntu 的server版了
-
Window10 安装软件时报错:Called RunScript when not marked in progress
https://blog.iletter.top/index.php/archives/170.html
2024-10-13T23:54:00+08:00
Window10 安装软件时报错:Called RunScript when not marked in progress解决办法:进入 C:\Windows找到"temp"文件夹 ---- 右键“属性” --- “高级” --- “更改”然后点击 “高级”输入电脑当前用户的姓名,进行搜索
-
ERR_UNSAFE_PORT情况解决
https://blog.iletter.top/index.php/archives/131.html
2023-05-17T23:48:00+08:00
起因是,今天看到一个有趣的项目(https://github.com/usememos/memos)想拉下来跑跑体验一下。结果在docker之后,指定好了端口,打开时却出现如下的情况再次确认后台程序在跑的时候,已经基本确定就是某些操作的问题,或许是被拦截了。在看到前端报错的时候发现他在告诉我这个情况ERR_UNSAFE_PORT仔细查询(https://zhuanlan.zhihu.com/p/383077079)了之后才发现这是浏览器的安全问题导致无法打开。虽说可以是强制打开,但是还是换个端口比较稳妥。 1, // tcpmux
7, // echo
9, // discard
11, // systat
13, // daytime
15, // netstat
17, // qotd
19, // chargen
20, // ftp data
21, // ftp access
22, // ssh
23, // telnet
25, // smtp
37, // time
42, // name
43, // nicname
53, // domain
77, // priv-rjs
79, // finger
87, // ttylink
95, // supdup
101, // hostriame
102, // iso-tsap
103, // gppitnp
104, // acr-nema
109, // pop2
110, // pop3
111, // sunrpc
113, // auth
115, // sftp
117, // uucp-path
119, // nntp
123, // NTP
135, // loc-srv /epmap
139, // netbios
143, // imap2
179, // BGP
389, // ldap
465, // smtp+ssl
512, // print / exec
513, // login
514, // shell
515, // printer
526, // tempo
530, // courier
531, // chat
532, // netnews
540, // uucp
556, // remotefs
563, // nntp+ssl
587, // stmp?
601, // ??
636, // ldap+ssl
993, // ldap+ssl
995, // pop3+ssl
2049, // nfs
3659, // apple-sasl / PasswordServer
4045, // lockd
6000, // X11
6665, // Alternate IRC
6666, // Alternate IRC
6667, // Standard IRC
6668, // Alternate IRC
6669, // Alternate IRC
-
TypeError: this.getOptions is not a function 的解决(vue,react)
https://blog.iletter.top/index.php/archives/121.html
2023-05-07T23:48:00+08:00
卸载安装老版本的即可npm uninstall less-loader
npm install less-loader@5.0.0报错信息TypeError: this.getOptions is not a function 这个是在运行项目是遇到的问题vue react这个报错是类型错误,this.getOptions 不是一个函数 。这个错误是less-loader库里的错误。主要是less-loader版本太高,不兼容this.getOptions方法。解决方案通过 npm uninstall less-loader 命令卸载原版本的 less-loader,然后 通过 npm install less-loader@5.0.0 命令下载降级版本的 less-loader,这个问题就可以解决了.npm uninstall less-loader
npm install less-loader@5.0.0或者可以删除node_modules文件夹,并且把package.json里less-loader里的版本改为5.0.0就行,然后npm install不止 less-loader 同样 scss-loader ,css-loader,style-loader都有可能出现 。只需要 看报错 具体 是什么 上图 为例 报的是css-loader .所以 卸载对应得就行。npm uninstall css-loader
npm install css-loader@5.0.0具体降到哪个版本 需要 看看 版本信息 比如 style-loaderstyle-loader)降低 到 之前的版本 比如 2.0.0
-
数据库Error Code 1067 - Invalid default value 的解决办法
https://blog.iletter.top/index.php/archives/99.html
2023-04-24T23:48:00+08:00
报错: Error Code: 1067 - Invalid default value for 'LOCK_TIME_'
查阅资料知道是mysql从5.7开始,默认是严格模式,严格遵从SQL92规范。公司mysql版本:5.7.25我的mysql版本:5.7.40因为mysql差距不大的原因,所以猜测,应该是我没开启timestamp默认值规则先查看是否开启了 show variables like 'explicit_defaults_for_timestamp'; 忘了截图了,不过查询出来的结果是off设置开启set global explicit_defaults_for_timestamp = ON;再次查看是否开启开启了,然后再次导入数据库。就可以了。还有一种解决方式是去除掉关于时间这些not null字段,也可以,不过实在是太多了,所以就没有选择此种方法。参考连接:https://www.jianshu.com/p/523a0bf27095https://blog.csdn.net/u010227042/article/details/123321421
-
cb() never called!的解决办法
https://blog.iletter.top/index.php/archives/103.html
2023-04-24T23:48:00+08:00
npm ERR! cb() never called!
npm ERR! This is an error with npm itself. Please report this error at:
npm ERR! <https://npm.community>
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/geekchief/.npm/_logs/2021-07-12T06_56_29_399Z-debug.loggithub的issue的讨论: https://github.com/npm/cli/issues/417错误的意思是,npm程序执行到未知流程节点中然后没有调用回调通知任务已执行完成,导致进程异常退出,据官方说法他们也没有太好的方式解决,不过网上的东西大多数不靠谱,但是有挺多人用的淘宝源,出这个错误的概率会大大提高。先尝试清楚npm缓存再安装试试npm cache clean -force然后npm install不过这个办法多数时候不管用造成这个办法的情况是使用的淘宝的源,建议换回官方的源,然后再次安装查看是什么源npm config get registry淘宝的源,好的,果断替换换回官方源npm config set registry https://registry.npmjs.org/再次查看替换成功了,多数时候下载会失败或者很慢,这就需要我们科学上网了,设置npm代理的端口。npm config set proxy=http://127.0.0.1:10809然后如果想查看npm配置的话可以使用这个命令查看npm config list再次npm install安装就会成功了
-
Failed to start bean documentationPluginsBootstrapper
https://blog.iletter.top/index.php/archives/84.html
2023-04-03T23:48:00+08:00
关于报错org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2023-04-03 00:08:57.651 ERROR 15032 --- [ main] o.s.boot.SpringApplication : Application run failed
org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:181) ~[spring-context-5.3.22.jar:5.3.22]
at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.22.jar:5.3.22]
at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.22.jar:5.3.22]
at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.22.jar:5.3.22]
at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.22.jar:5.3.22]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935) ~[spring-context-5.3.22.jar:5.3.22]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.22.jar:5.3.22]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.10.jar:2.6.10]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) ~[spring-boot-2.6.10.jar:2.6.10]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) ~[spring-boot-2.6.10.jar:2.6.10]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.6.10.jar:2.6.10]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.10.jar:2.6.10]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.10.jar:2.6.10]
at com.wonder.UselessToolsApplication.main(UselessToolsApplication.java:14) ~[classes/:na]
Caused by: java.lang.NullPointerException: null
at springfox.documentation.spi.service.contexts.Orderings$8.compare(Orderings.java:112) ~[springfox-spi-2.9.2.jar:null]
at springfox.documentation.spi.service.contexts.Orderings$8.compare(Orderings.java:109) ~[springfox-spi-2.9.2.jar:null]
at com.google.common.collect.ComparatorOrdering.compare(ComparatorOrdering.java:37) ~[guava-20.0.jar:na]
at java.base/java.util.TimSort.countRunAndMakeAscending(TimSort.java:355) ~[na:na]
at java.base/java.util.TimSort.sort(TimSort.java:220) ~[na:na]
at java.base/java.util.Arrays.sort(Arrays.java:1441) ~[na:na]
at com.google.common.collect.Ordering.sortedCopy(Ordering.java:855) ~[guava-20.0.jar:na]
at springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider.requestHandlers(WebMvcRequestHandlerProvider.java:57) ~[springfox-spring-web-2.9.2.jar:null]
at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper$2.apply(DocumentationPluginsBootstrapper.java:138) ~[springfox-spring-web-2.9.2.jar:null]
at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper$2.apply(DocumentationPluginsBootstrapper.java:135) ~[springfox-spring-web-2.9.2.jar:null]
at com.google.common.collect.Iterators$7.transform(Iterators.java:750) ~[guava-20.0.jar:na]
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47) ~[guava-20.0.jar:na]
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47) ~[guava-20.0.jar:na]
at com.google.common.collect.MultitransformedIterator.hasNext(MultitransformedIterator.java:52) ~[guava-20.0.jar:na]
at com.google.common.collect.MultitransformedIterator.hasNext(MultitransformedIterator.java:50) ~[guava-20.0.jar:na]
at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:249) ~[guava-20.0.jar:na]
at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:209) ~[guava-20.0.jar:na]
at com.google.common.collect.FluentIterable.toList(FluentIterable.java:614) ~[guava-20.0.jar:na]
at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.defaultContextBuilder(DocumentationPluginsBootstrapper.java:111) ~[springfox-spring-web-2.9.2.jar:null]
at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.buildContext(DocumentationPluginsBootstrapper.java:96) ~[springfox-spring-web-2.9.2.jar:null]
at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.start(DocumentationPluginsBootstrapper.java:167) ~[springfox-spring-web-2.9.2.jar:null]
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-5.3.22.jar:5.3.22]
... 14 common frames omitted问题分析因为Springfox 使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher。修复方案修复方案一:降低Spring Boot 版本到2.6.x以下版本比如下面版本组合是兼容的Spring Boot版本Swagger 版本2.5.62.9.2修复方案二: SpringBoot版本不降级解决方案比如下面版本组合是兼容的Spring Boot版本Swagger 版本2.6.53.0.0修复方案三:设置application配置文件spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher修复方案四,修改spring源文件我没找到这个java文件。。。。没试过,估计应该可以。。参考地址:https://github.com/springfox/springfox/issues/3462revert matching strategy spring.mvc.pathmatch.matching-strategy to ant-path-matcherhack springfox WebMvcRequestHandlerProvider to filter out actuator controllers which don't respect spring.mvc.pathmatch.matching-strategy public WebMvcRequestHandlerProvider(Optional<ServletContext> servletContext, HandlerMethodResolver methodResolver,
List<RequestMappingInfoHandlerMapping> handlerMappings) {
this.handlerMappings = handlerMappings.stream().filter(mapping -> mapping.getPatternParser() == null)
.collect(Collectors.toList());swagger配置类.apis(RequestHandlerSelectors.basePackage("com.wonder.controller")) 这里填写扫描包,对应类添加@APIpackage com.wonder.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import javax.servlet.ServletContext;
import java.util.Optional;
@Configuration // 标明是配置类
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2) // DocumentationType.SWAGGER_2 固定的,代表swagger2
// .groupName("分布式任务系统") // 如果配置多个文档的时候,那么需要配置groupName来分组标识
.apiInfo(apiInfo()) // 用于生成API信息
.select() // select()函数返回一个ApiSelectorBuilder实例,用来控制接口被swagger做成文档
.apis(RequestHandlerSelectors.basePackage("com.wonder.controller")) // 用于指定扫描哪个包下的接口
.paths(PathSelectors.any())// 选择所有的API,如果你想只为部分API生成文档,可以配置这里
.build();
}
/**
* 用于定义API主界面的信息,比如可以声明所有的API的总标题、描述、版本
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("项目API") // 可以用来自定义API的主标题
.description("项目SwaggerAPI管理") // 可以用来描述整体的API
//.termsOfServiceUrl("") // 用于定义服务的域名
.version("1.0") // 可以用来定义版本。
.build(); //
}
}访问地址:http://localhost:8080/swagger-ui.html
-
U盘文件消失却占内存的解决方法
https://blog.iletter.top/index.php/archives/75.html
2023-04-02T23:48:00+08:00
title: 'U盘文件消失却占内存的解决方法 'updated: 2021-01-26 14:48:06Zcreated: 2021-01-26 14:48:06Zsource: https://www.wonder1999.com/index.php/archives/18.htmltags:windows故障方法一查看U盘属性,如果已用空间不为0,那么可以使用以下方法。在你的U盘里面直接新建一个txt文档在里面输入attrib -s -h /s /d保存。然后打开我的电脑->工具->文件夹选项->查看,将里面的隐藏已知文件扩展名前面的勾去掉。如果已经去掉了就不用这步操作了。然后再将刚刚新建的TXT文档改名为0.bat。双击运行即可。方法二如果你的U盘属性显示已用空间为0,那么我们可以借用软件来解决,首先下载一个EASY RECOVERY,可以在系统之家网站上下载此软件的汉化注册版,把文件恢复。方法三插入U盘,然后不要打开,而是右键单击盘符。选择“作为媒体便携设备打开”,文件全部显示出来了,但是不能打开,把它复制到本地硬盘就行了,数据备份好以后把U盘格式化。以上方法适用于你的U盘文件没隐藏也没有中毒,如果是U盘中毒原因,可以使用杀毒软件或者专门对付U盘病毒的USBCleaner,可以非常有效的清理你的U盘病毒,还能给你的U盘加上免疫功能,U盘的价格如今已非常便宜,如果是硬件坏了的话就赶紧再买一个吧。
-
office账号登录提示0x80190001错误码
https://blog.iletter.top/index.php/archives/79.html
2023-04-02T23:48:00+08:00
office登录账号时提示错误代码0x80190001,导致有些功能不能使用。错误原因0x80190001是一个代理服务引起的错误(网络查找的原因,出现这个错误反馈office也无法发送成功)解决方法一:1、在Internet Explorer浏览器的右上角点击设置,打开Internet选项2、在Internet选项界面,进入常规,单击删除,再点击确定,缓存文件就已经全部删除。3、在Internet选项界面,进入高级, 单击 重置,即可。按Windows+R输入services.msc 找到Microsoft Account Sign-in Assistant右键启动是否正常(检查该服务是否已经启动)。解决方法二:检查是Internet选项 - 连接 - 局域网(LAN)设置 - 使用自动配置脚本影响导致。把勾去掉后就可以登录账户了
-
lineNumber: 1; columnNumber: 1; 前言中不允许有内容
https://blog.iletter.top/index.php/archives/52.html
2023-03-30T23:48:00+08:00
bug日志Line 1 in XML document from class path resource [application.yml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。有可能是yml配置文件编码的问题utf-8 选择没有Bom的排错发现是redis的配置。。。。正确配置: redis:
database: 0
host: 127.0.0.1
port: 6379
password: 123456
timeout: 1000
jedis:
pool:
max-active: 8
max-wait: -1
max-idle: 8
min-idle: 0是jedis:不是lettuce:用啥东西就写啥,不要瞎写。。。。之前用lettcue没有引入包。。。两者区别:Jedis在实现上是直接连接的redis server,如果在多线程环境下是非线程安全的,这个时候只有使用连接池,为每个Jedis实例增加物理连接Lettuce的连接是基于Netty的,连接实例(StatefulRedisConnection)可以在多个线程间并发访问,应为StatefulRedisConnection是线程安全的,所以一个连接实例(StatefulRedisConnection)就可以满足多线程环境下的并发访问,当然这个也是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。