发布java library到Maven Central仓库

Publishing a Java Library to Maven Central 网络上有很多文章有介绍如何发布,很多都说得很详细,这里大概记录一下一些相关信息。 相关网址: 发布申请:sonatype官网 需要注册,并创建issue填写要发布项目的相关信息 官方文档,如何发布: Deploying to OSSRH with Apache Maven – Introduction gpg密钥相关: The GNU Privacy Guard官网 可以下载相关软件用于生成和管理gpg密钥,我使用的版本是 gpg (GnuPG) 2.3.7, libgcrypt 1.10.1,需要注意的是不同版本一些命令可能会有不同 发布时会先发布到repo1仓库,如果发布成功的话,正常30分钟左右就在上面看到,然后大概要4个小时才会同步到Maven Central 项目配置的仓库url 现在是s01开头这个,如果你的issue已经验证了groupId,并且指派者已经处理好的话,可以使用之前在官网注册的用户和密码登录这个仓库。 发布备忘 创建要发布的项目,以及配置好pom pom需要包含的信息: 项目url : <url><https://github.com/william-xu/java-basic></url> 我这里项目仓库在github网站。 开发者信息 <developers> 许可证信息 <licenses> 发布管理 <distributionManagement> 配置要发布到的仓库的信息 scm信息(software configuration management)<scm> 【build】发布到maven central仓库,需要 nexus-staging-maven-plugin […]

关于 @SuppressWarnings

Java compilers are increasingly capable of issuing helpful “lint-like” warnings. To encourage the use of such warnings, there should be some way to disable a warning in a part of the program when the programmer knows that the warning is inappropriate. The annotation type SuppressWarnings supports programmer control over warnings otherwise issued by a Java compiler. It […]

Spring Boot Support

from spring.io Branch Initial Release End of Support End Commercial Support * 3.0.x 2022-11-24 2023-11-24 2025-02-24 2.7.x 2022-05-19 2023-11-18 2025-02-18 2.6.x 2021-11-17 2022-11-24 2024-02-24 2.5.x 2021-05-20 2022-05-19 2023-08-24 2.4.x 2020-11-12 2021-11-18 2023-02-23 2.3.x 2020-05-15 2021-05-20 2022-08-20 2.2.x 2019-10-16 2020-10-16 2022-01-16 2.1.x 2018-10-30 2019-10-30 2021-01-30 2.0.x 2018-03-01 2019-03-01 2020-06-01 1.5.x 2017-01-30 2019-08-06 2020-11-06

Spring Boot 3.0.0 M1 Release Notes

转自官方github项目的发布说明 Spring Boot 3.0.0 M1 Release Notes Upgrading from Spring Boot 2.x Deprecations from Spring Boot 2.x Classes, methods and properties that were deprecated in Spring Boot 2.x have been removed in this release. Please ensure that you aren’t calling deprecated methods before upgrading. Minimum Requirements Changes Spring Boot 3.0 makes the following changes to […]

减少精神内耗的7件小事

转自饼干画报  不知道你会不会也经常陷入「精神内耗」——想得很多,做得很少,总是被困在自己的思绪里。  ◍ 一年前那段失败的恋情,你还在翻来覆去地想:「到底是我错了还是他错了?他为什么不爱我了」? ◍ 你琢磨别人对自己的看法:「完了,今天在电梯里打招呼的时候领导反应很冷淡,我一定是惹到他了」。 ◍ 接到一个任务,你还没做就会预想糟糕的结果:「我一定会搞砸的。」然后拖着迟迟没办法开始。 精神内耗的核心是对自我的负面信念,导致过度思考。 如果你也有类似的困扰,可以试试下面这7件小事👇  01 觉察你的负面想法,并和它保持距离  让我们陷入反复思考的主要原因是大脑中挥之不去的负面想法,第三代认知行为心理学代表人物史蒂文·海森提出了接纳与承诺疗法(Acceptance and Commitment Therapy),简称「ACT」——可以帮助我们很好地处理负面情绪。  具体怎么做呢?  第一步,察觉到你的负面情绪,并且接受它;第二步,认知解离——和你的负面情绪拉开距离。  比如,现在你大脑中产生一个令人沮丧的想法:「我一事无成,真是个失败的人」。让这个想法在大脑中保持几秒,观察它对你的影响;然后试着在它的前面加上一个短语,变成「我有一个想法,我是个失败的人」。  你会发现,这个时候你会与先前那个想法之间拉开距离,并非现实。你还可以给这种想法起个名字,比如叫「失败者故事」,当它下次出现时,你会觉得「啊?失败者故事又来了」。  其实情绪是中性的,再可怕的想法,也只是头脑中的一串文字。而之所以让我们感到不舒服,是因为我们在对情绪做评判,想控制或者回避所谓的「消极情绪」。 02 回到当下,回到此刻  不知道你发现了吗?我们大多数时候过度思考都在做两件事:反刍过去和焦虑未来,就是没有集中在当下。  而事实上,过去已经无法改变,未来还没有到来,思考这些纯粹是徒劳。而一旦你的注意力完全集中在当下的时刻,就不会有任何问题了。  当你又陷入对过去或者未来的思虑时,可以试试这些方法回到当下:  ◍ 正念呼吸,排除杂念,专注在你的呼吸上,感受你的身体。 ◍ 调动所有感官,把注意力集中在周围实际发生的事情上——感受阳光照射在你皮肤上的温暖、听听窗外的车流声、用手摸一摸你手边的毛毯等东西、闻一闻现在空气里是什么味道?  如果对这一点感兴趣的话,分享一本书《当下的力量》,里面有更多关于「回到当下」的解读。 03 拿张纸,写下你的「恐惧」  《应对焦虑》一书中提出: 很多人的焦虑都源自恐惧。恐惧是对某一情境或经历的过度惧怕,通常人们会回避让自己恐惧的情境,但克服恐惧最有效的方法就是正视恐惧,回避只会让心心念念想要消除的恐惧进一步加深。 每次当我陷入思维的泥潭而不知所措时,我通常会问自己:「可能发生的最坏情况是什么?」一步一步往深处提问,然后把它写下来。 这样就能意识到自己究竟在害怕什么,我会花一些时间思考反应计划,然后就会多一点信心去采取需要的行动。 恐惧并不可怕,可怕的你不知道自己在害怕什么,然后被恐惧支配,陷入无止境地思维反刍。 04 专注于你能控制的  当你意识到自己的恐惧后但思绪依然无法平静时,可以退后一步,问问自己:「什么是我能控制的」?  为无法控制的事情烦扰是无济于事的(但也是我们大部分精神内耗的时候在做的事情)。  面对亲密关系危机,「男友对你的态度」是你无法控制的事情,而「调整自己对关系的期待」是你可以控制的。 面对工资低造成的财务困难,「加薪」是你无法控制的事情,而「减少消费、寻找新的收入来源」是你可以控制的。  专注于力所能及的事情可以放大和增强我们的力量,也会减少精神内耗。 05 把自己当作你的朋友对待(学会自我同情)  我之前在心理咨询中和咨询师分享过我的「过度思考」,咨询师告诉我:「我感觉你的世界里有一个严苛的法官,为你制定了很多的规则,做不到就批评你」。  然后我会振振有词地试图解释为什么要这样自我评判——它们似乎都是有理由的。  然而,当咨询师问我会不会以同样的方式对待我的好朋友、我的伴侣或者我的孩子(想象中的),我毫不犹豫地说「绝对不会」。  于是我意识到了问题所在,比起旁人,我们对待自己的态度更加糟糕。  当你再次因为一件事陷入不断的自我内耗中,请想象一下,以上事件发生在一位亲爱的朋友或亲密的家人身上,他为此觉得非常难过,你会怎么看待这件事?以及你会如何劝说他。  有时候,我们都缺少一点儿自我同情,试试看用对待朋友的方式和自己对话吧。 06 用行动中断思考  以上都是一些思维调整的方法, 但其实更简单有力的是行动。 面对思维反刍,《情绪急救》一书中提出: 通过从事那些我们感兴趣或者需要集中精力完成的事情来分散注意力,可以扰乱或者终止反刍思维。  你可以花几分钟进行一次简短的脑力锻炼,如玩手机上的数独游戏、回想楼下便利店的布局(比如,刚进门的地方是清洁用品和洗漱用品、第三个过道是饮料和酒类)等,不仅能够打断反刍,还能改善情绪。  你还可以通过「心流」来体验更加专注和平静的感受,这是心理学家米哈里·契克森米哈提出的概念——「当你在做一件有趣的事情时,这件事情能在难度和你的能力之间取得合理的平衡,心流就会在此刻发生,它像水流般毫不费力」。  一般来说容易产生心流的事情有这些特点:  […]

Redis选主

Replica election and promotion Replica election and promotion is handled by replica nodes, with the help of master nodes that vote for the replica to promote. A replica election happens when a master is in FAIL state from the point of view of at least one of its replicas that has the prerequisites in order to become […]

单机使用Docker搭建Redis各种实例

docker run 运行单节点 使用指定docker网络,暴露容器6379端口到主机6379端口 将指定的配置文件映射到容器内指定路径 将主机目录映射到容器内redis默认数据目录 设置redis-server运行时加载指定配置文件 使用docker-compose运行主从+哨兵实例 /etc/localtime:/etc/localtime:ro 使容器实例时间与主机时间同步 容器数据目录挂载到主机指定目录 由于示例这里没有指定主从redis的配置文件,在运行命令command处指定 每个哨兵使用 sentinel配置文件示例 protected-mode yes 设置为yes时,如果没有使用bind命令绑定指定ip,并且也没有设置密码,则只接受本地连接请求 port 26381 这里使用自定义端口,默认是26379,即20000+6379 sentinel monitor <master-group-name> <ip> <port> <quorum> 指定哨兵要监控的主节点组名称,这里可以随意设置,但监控通过节点所有哨兵必须使用同一个主节点组名称 ip和port是要监控的主节点ip和端口 quorum用来检测和确认失败,上面配置2表示只要有2个哨兵确认主节点失联,即可将该节点标记为故障并且如果条件允许的话,最终会启动故障转移流程 sentinel auth-pass docker-redis-master master_password 设置主节点密码,如果有才需要 requirepass sentinel_password 设置哨兵密码 sentinel monitor <master-group-name> <ip> <port> <quorum> sentinel monitor mymaster 127.0.0.1 6379 2  This config is used to tell […]