teddyxlandlee
本帖最后由 teddyxlandlee 于 2022-5-30 09:18 编辑

为什么要搭建一个“伪私服”呢?真的Maven服务器不香吗?
原因:
  • 你的项目很有可能上不了中央仓库,或者上了但是会让你的依赖管理变麻烦。Maven Central要求所有包名必须对应你拥有的域名(如com.example.commons:commons-tuple:3.5 要求你有 commons.example.com),要不然就得用冗长的GitHub包名(如io.github.teddyxlandlee:commons-tuple:3.5),可我就是想偷个懒(xland.commons:commons-tuple:3.5)
  • 搭建一个真私服,需要一个云服务器。你真的想学怎么搭建Maven服务器吗?你真的有钱租腾讯云吗?
  • 我能白嫖干嘛用付费的 能到编程开发版的兄弟们,咱应该都知道GayHub的好处吧

既然如此,咱们分析一下用GitHub Pages到底彳亍不彳亍
  • 为什么不用一般仓库?比起GitHub Pages(someone.github.io),GitHub Raw(raw.githubusercontent.com)更容易被restrict。
  • 微软家的服务器,那可是免费又稳定啊。隔壁Gitee真的不放心去用,开源中国随时搞事,比如限制仓库大小/内容什么的(Edit: 预言家刀了
  • 编不下去了
话不多说切入正题——怎么搞?
示范仓库:COVID-Trump/mvn

  • 去GitHub注册一个仓库,要求公开。
  • 随便写一个README.md,甭管怎么写。这一步很重要——clone下来,并把clone下来的文件夹打zip包存好。clone时建议用SSH方式,减少网络影响。
  • 去Settings,把GitHub Pages支持打开,要求映射分支为当前分支,目录为根目录(不是doc)
  • 把本地的仓库文件夹挪到 %USERPROFILE%\.m2\(UN*X:$HOME/.m2)并重命名为repository(也就是直接给本地Maven仓库绑到GitHub云端了)
  • 这样你就可以把项目publish到本地,然后add!commit!push!
  • 如果我换电脑了,岂不是要再clone一遍114514MB的仓库?!别着急:原来打的zip包就派上用场了。解包并重复第四步。add-commit之前,先新创建并切到一个新分支(如patch-5181208),push的时候push到新分支(git push -u origin patch-5181208),然后去GitHub上完成Pull Request和Merge。
为什么要有第2步呢?
——亲身经历:提交记录完全不同的仓库,无法PR。
——所以制造一个相同的初始commit就好啦~

使用仓库时,按照仓库ID进行导入即可!(如COVID-Trump/mvn在https://covid-trump.github.io/mvn/


DreamVoid
本帖最后由 DreamVoid 于 2022-5-18 12:50 编辑
Maven Central要求所有包名必须对应你拥有的域名

你第一句话就说错了,没有域名的可以用 io.github.用户名 这类的域名申请,审核人员会让你创建指定名称的仓库,创建以后通知一声就会给你开权限,我自己申请的时候只花了不到10分钟。甚至我们中国的gitee也能用 io.gitee.用户名 申请。再者,引用构件的时候谁都是直接复制粘贴的,怎么会一个个字母打上去
另外部分地区已经屏蔽了GitHub,就算没屏蔽,在没有proxy的情况下访问很慢
真的Maven服务器不香吗?

香的不得了,想想看阿里云腾讯云的maven镜像都会去同步中央仓库,你自己搭没人会给你做国内加速镜像,你要说你有proxy不怕,指不定哪天就被扬了
私服相比中央仓库的唯一好处就只有能随意删除构件了

SSSSSteven
本帖最后由 SSSSSteven 于 2022-5-18 12:57 编辑

买个域名吧…花不了多少钱的…
.com、.net 之类的国际域名一年不过六七十,.cn 一年也就 35,甚至还有 .win、.top 之类的首年十块续费二三十的域名
就算这点钱都掏不出来,还有 Freenom 的免费域名,.tk、.ga 什么的,用的人也不少,虽然免费域名因为容易被滥用,给人的第一印象不是很好

DreamVoid
SSSSSteven 发表于 2022-5-18 12:50
买个域名吧…花不了多少钱的…
.com、.net 之类的国际域名一年不过六七十,.cn 一年也就 35,甚至还有 .win ...

部分域名提供商还有招揽新客户活动直接1块钱1年com net之类的随便挑,只要申请权限1小时的域名就足够了

teddyxlandlee
把内容扔到Maven Central似乎需要审批等一大坨程序,你传完的时候我早push完了
所以个人感觉搭建伪私服更方便一些

teddyxlandlee
SSSSSteven 发表于 2022-5-18 12:50
买个域名吧…花不了多少钱的…
.com、.net 之类的国际域名一年不过六七十,.cn 一年也就 35,甚至还有 .win ...

https://nic.eu.org - 欧盟免费域名,更短♂、更放心

teddyxlandlee
DreamVoid 发表于 2022-5-18 12:38
你第一句话就说错了,没有域名的可以用 io.github.用户名 这类的域名申请,审核人员会让你创建指定名称的 ...

冷知识:部分地区屏蔽了Gitee,就算现在没屏蔽,指不定哪天就被扬了
私服相比中央仓库的唯一好处就只有能随意删除构件了

臣附议.png

第一页 上一页 下一页 最后一页