【Bug周刊】Vol.4
前言
最近开发中遇到很多相同的问题,下意识去翻自己的历史记录,但又没能快速定位。我的trilium一直用来记录自己的周报和相关教程,对于常见的bug和修复方案也找不到合适的地方,只能穿插在日报的历史中,随时间沉没。无意间翻到子舒的奇趣周刊,Bug周刊也由此而生。
又鸽了一个月🤣🤣🤣
CI镜像拉取优化
问题描述
公司有两台美国的服务器,负责拉取镜像进行打包(打包机),gitlab 仓库代码自动构建时,偶尔会出现网络问题,无法拉取对应镜像,过一段时间就又正常了。
解决方案
首先排除host的问题,添加对应配置后问题没有改变。
1 | Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled (Client.Timeout exceeded while awaiting headers) |
其次,寻找对应CI配置,是否能够满足 先检查本地再获取远端镜像 的要求,我找到了 pull_policy 配置。
1 | build: |
同时修改 gitlab-runner 对应的的配置文件 config.toml,补充 pull_policy 配置。
如果这样还不能避免服务器公网拉取镜像的网络波动,可以将镜像私有化,拉取镜像后打上自己的 tag,推送到私有仓库,修改 hosts 配置走内网。
参考链接
resources: Input length = 1
问题描述
CI打包和本地打包时均报错,[ERROR] Failed to execute goal org.apache.maven.plugins: maven-resources-plugin:3.2.0:resources (default-resources) on project module-xxxx: Input length = 1 -> [Help 1],检查模块的pom文件,发现maven没有对resources的插件进行配置。
解决方案
在该模块的 pom.xml 中添加如下配置:
1 | <plugins> |
参考链接
‘readonly’ option is set (add ! to override)
问题描述
修改公司服务器 hosts 配置,打算走私有的docker镜像仓库,但是保存时终端报只读的提示 E45: 'readonly' option is set (add ! to override)
解决方案
学习两条命令,:q! 和 sudo !!。
1 | :q! // vim 强制退出 |
参考链接
No converter found capable of converting
问题描述
1 | No converter found capable of converting from type [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [com.test.cloud.service.testmoudle.contract.testDto] |
在对Java项目某一微服务进行数据结构优化时,报错 JPA 的转换无法正常映射。我希望能够用一个结构体作为 Query 查询后的结果类型,但是事与愿违,规范上只能使用类似 Map<String, Object> 的方式接受数据,经过chatgpt后,解决方案如下。
解决方案
reposity中修改原来的查询语句,在sql中直接对类型转换,同时补充dto的构造方法
1 | // testRepository 代码虚构 仅说明逻辑 |
1 | // testDto |
1 | // 这样就能在Impl中接受对应reposity的方法结果 |





