你好,Typecho!
上一篇文章是《你好,GitHub Pages!》
当时是用GitHub Pages搭建了新的博客,并把之前在WordPress里的文章迁移过来了。
用了一段时间之后,发现搜索不方便,虽然通过使用giscus实现了文章的评论。
后来,自己用Java开发了一个博客系统,但是由于购买的云主机性能比较差,运行Java系统特别慢,于是最近又迁移到了Typecho系统了。
希望这次是最后一次切换。果然差生文具多,文章没写几篇,博客系统换了好几个了。
上一篇文章是《你好,GitHub Pages!》
当时是用GitHub Pages搭建了新的博客,并把之前在WordPress里的文章迁移过来了。
用了一段时间之后,发现搜索不方便,虽然通过使用giscus实现了文章的评论。
后来,自己用Java开发了一个博客系统,但是由于购买的云主机性能比较差,运行Java系统特别慢,于是最近又迁移到了Typecho系统了。
希望这次是最后一次切换。果然差生文具多,文章没写几篇,博客系统换了好几个了。
计划把博客从云服务器的WordPress迁移到GitHub Pages上来。
今晚测试搭建,一切顺利。
后续逐步把历史的文章往这里迁移。
以下测试下代码高亮:
class Solution{
public static void main(String[] args){
System.out.println("Hello, GitHub Pages!");
}
}
2024年都过去两个月了,我的2023年度总结姗姗来迟。迟到总比不来好。
回首过去的2023年,工作上公司组织史无前例地频繁调整,而我,虽然几经波折,但还在公司"苟"着,期待着公司的“伟大复兴”。
生活上,大部分活动还是以娃为中心。平时上班,周末带娃去周边玩,长假带娃去长途旅行。三月份去了徽行古道,五一去了北京,七月份请长假去了新疆(提了好几年的计划终于实现了),国庆去了期待已久的武功山(结果遇上大雾,神往的高山草甸啥也没看到),春节去了海口和三亚。可能是由于过去三年的疫情的封控,今年旅游也是迎来了报复性增长,感觉一年光出去玩了,今年大概率要降低频率了。
两年前开始的钓鱼/养鱼活动,本来去年是连装备都卖掉了的。不过23年还是又重新开启了此项活动。最终在经过多轮的折腾后,截止目前鱼缸生态已经基本稳定,安心赏鱼了。大概是等天气暖和的季节,去采集一些新的品种来养。新的一年继续保持吧,作为个人爱好。
运动方面,本来希望养成陪娃每周打羽毛球的习惯,不过最终还是没坚持下来,打了几次就终止了。一年365km的跑量也只跑了16公里不到,西湖玫瑰线更是遥不可及。爬山+户外倒是去了几次。今年的运动目标,一个是继续365KM+西湖玫瑰线(三年前的目标),看看能达成多少,另外是能够开发一些跟娃一起参与的亲子运动项目。
读书是毕业后仍然没放下的一项爱好。23年读了23本书。印象比较深刻的有《万历十五年》,《置身事内》,《重走》,《自私的基因》,《人类群星闪耀时》,《以色列-一个名族的重生》。当然作为一名文(gu)学(shi)爱好者,今年继续读完了王小波的《白银时代/2010/黑铁时代》,另外跟娃一起读完了《哈利波特》前五部,还剩下两部留给今年了。年底还看完了陀思妥耶夫斯基的《罪与罚》。
2023年只看了14部影视作品,其中10部电影,大部分是陪娃看的儿童电影,尤其推荐小黄人的《神偷奶爸》,还有《查理和巧克力工厂》,适合与娃一起看。娃后来又自己重复看了不下十遍了。重温了83版的《天龙八部》,不愧是经典,小说写得好,电视剧拍得也好,当然,配乐更好。(PS:果然老了,已经开始听过去的音乐,看过去的电视)。
2024,没有计划,期待更精彩。
在IDEA中打开依赖的jar包中的class类时,编辑器右上方会提示下载源码。点击"Download Sources"会从maven仓库里下载jar包对应的源码。如下图所示:
但是,最近就碰到了在点击Download Sources时,提示Cannot download sources。
使用“IDEA Cannot download sources”搜索,发现网上有很多种情况都会出现这种错误,但是也没说清楚原因,只是说几种方式都试下,当然,结果就是,有的或许碰巧就解决了问题,有的可能就无法解决。而我就是试了好几种都没起作用。
作为程序员,遇到问题的第一反应是去看日志。于是,想去查下出现上面的错误提示的时候,IDEA的日志里或许应该有出错的原因的提示。
在IDEA中,点击菜单栏中的Help--》Show Log In Explorer,就可以打开IDEA的日志文件夹,然后在此文件夹中找到idea.log这个日志文件,使用文本编辑器打开这个日志文件,拉到最下面查看最新的日志。可以看到如下的提示:
使用其中的关键词"NoRepositoryConnectorException: Blocked mirror for repositories"去搜索引擎或者chatgpt查询,基本就可以确定原因了。
大概原因就是,从maven 3.8.1版本之后,在配置文件中默认block了http的仓库地址链接,必须用https才可以。然后去检查了自己的本地主目录下的maven settings.xml的配置,果然仓库地址是使用了http协议的仓库地址,换成https协议的仓库地址,然后,在IDEA中关闭打开的工程,去删除工程根目录下的.idea文件夹内,之后再在IDEA中重新导入之前的工程, 就可以download sources了。
以上就是本次问题的排查思路。遇到问题直接搜索或者问chatgpt,未必能够获得答案,还是要自己思考排查,比如去看日志,然后再结合搜索引擎或者chatgpt,这样解决问题更加高效。
PS:在maven安装目录下的conf目录中的默认的settings.xml文件中,有如下配置,正是这个配置导致了Cannot download sources。
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
IntelliJ IDEA 执行maven命令(或者自动导入maven项目)时,报如下错误:
[ERROR] Malformed \uxxxx encoding.
这个问题经常出现在本地存在多个Maven版本来回切换的时候,或者本地有多个maven项目的时候。 \uxxxx 可能是\u0000。
看起来像是某次执行maven的时候,由于maven仓库找不到或者网络异常,由于某些版本的maven bug,把maven本地仓库里某些依赖的配置文件弄乱了。(参见:https://issues.apache.org/jira/browse/MRESOLVER-216)
解决办法是把有问题的artifact删除,重新执行maven命令就可以了。当然你可以直接把本地仓库目录(比如默认的~/.m2/repository/)都删掉,但是后面仍需要重新下载所有的maven依赖。最好是只把有问题的依赖删除。
如何找到有问题的artifact依赖呢?在IntelliJ IDEA里,打开Find In Files搜索框(Windows系统,快捷键ctrl+shift+f),输入\u0000 或者 \uxxxx, 选择在特定目录下搜索,选择本地maven仓库的文件夹。根据搜索结果,删除对应的artifact对应的文件夹就可以了。
如果习惯使用Windows命令行,也可以执行如下命令来查找有问题的依赖包。
findstr /S /M '\u0000' *.*