Minecraft(我的世界)中文论坛

 找回密码
 注册(register)
查看: 2599|回复: 28

[开发资源] 分享自己搭建的Maven仓库,解决网络问题,提高你的开发效率

[复制链接]
Lss233 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2544
钻石
性别
保密
注册时间
2016-1-19
查看详细资料
发表于 2018-6-23 17:42:02 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 Lss233 于 2019-3-3 14:30 编辑

Lss233's.Mirror();


0x00 写在前面


记得最开始使用Maven的时候,基本上大部分时间都花在寻找依赖和下载依赖上。
许多API的作者也都是把自己的工件放在自己的maven仓库上,  
如果你使用Maven或者Gradle,那么你不仅要在pom.xml中写dependency,还要写一个repository。
有些仓库在国内访问还很慢、甚至无法打开,这大大降低了开发效率。

如果你现在正为此苦恼的话,那么试试我搭建的源吧!  

0x01 介绍



源地址:http://crystal.lss233.com.aslf.top/repositories/minecraft
备用地址:https://lss233.com/artifactory/minecraft

这个源镜像了以下内容:
  • spigot的snapshots (主要包含了spigot-api, bukkit-api)
  • spongepowered (主要包含了spongeapi, spongecommon 以及其他开发sponge插件可能用到的工件)
  • forge(镜像了files.minecraftforge.net/maven)
  • herocraft-repo(主要包含了vault-api, heroes, Residence等工件)
  • placeholderapi-repo(主要包含了PlaceholderAPI)
  • sk89q-repo (主要包含了worldedit, worldguard, craftbook,dynmap-api 等工件 )
  • dmulloy2-snapshots(主要包含了ProtocolLib等工件)
  • ess3-repo (主要包含了Essentials插件的一些工件)
  • dakanilabs-repo (主要包含了SQLibrary, PlayerPoints等一些工件)
  • kk-central (主要包含了KCauldron等一些工件)
  • Phoenix(主要包含了PhoenixAPI)
  • destroystokyo-repo(主要包含paper-api, paperclip, waterfall等工件)
  • lex-snapshots(主要包含了NeptuneLib)
  • sonatype(主要包含了bungeecord-api等一大堆工件)
  • codemc(主要包含了craftbukkit、spigot服务端)
  • nukkit (主要包含了nukkit, nukkit-parent)
  • libraries.minecraft.net (可以用于加速Minecraft启动器/Forge调试环境的下载)
  • Gradle Distributions (可以用于加速Gradle Wrapper的下载,具体见下)


0x02 使用方法


虽然本镜像为Maven服务器,但使用的方式并没有限制。
下面介绍几种常见的使用情景.

1. 对于使用Maven进行开发的小伙伴

打开pom.xml ,在 <repositories> ... </repositories> 代码块中加入:
  1. <repository>
  2.   <id> lss233-minecraft </id>
  3.   <name> Lss233's Minecraft Repository </name>
  4.   <url>http://crystal.lss233.com.aslf.top/repositories/minecraft</url>
  5. </repository>
复制代码
然后就可以把其他已经在本仓库中的 <repository> ... </repository> 删除啦。  


2. Gradle Wrapper加速

通常首次使用 gradlew 的时候总会从Gradle官网缓慢地下载gradle.
本人对此也提供了一个简单的镜像。
加速方法:
打开项目中的 gradle/wrapper/gradle-wrapper.properties 文件,
services.gradle.org/distributions 替换为 lss233.com/artifactory/gradle-dist 即可。




3. 对于使用Gradle进行Forge Mod开发的小伙伴  

把build.gradle里
  1. maven {
  2.             name = "forge"
  3.             url = "http://files.minecraftforge.net/maven"
  4.         }
复制代码
替换成
  1. maven {
  2.             name = "forge"
  3.             url = "http://crystal.lss233.com.aslf.top/repositories/minecraft"
  4.         }
复制代码
就可以提升下载速度啦,还能避免下载失败的问题呢。



3.1 高版本MDK  
如果使用高版本的MDK,可能还会遇到 jcenter 无法访问的现象。  
解决方法:
由于仓库中已经包含JCenter,您可以直接将build.gradle中的 jcenter() 删除。



3.2 完整版的build.gradle参考
1.12.2

1.7.10:


3.3 加速MCP、Assets等调试环境资源的下载
ForgeGradle对这些资源的下载地址是写死在代码中的。
然而,ForgeGradle没有打算对咱大陆开发者的网络情况提供帮助(见issue#558)。
你可以考虑使用FGOW
或者在遵守ForgeGradle的开源协议情况下,
修改ForgeGradle的相关代码并编译一份仅供自己使用的Gradle插件来解决这个问题。
FGOW参考配置(使用bmclapi下载游戏资源):
  1. // 自行调整位置
  2. repos {
  3. mcJsonUrl = "http://bmclapi2.bangbang93.com/versions/{MC_VERSION}/{MC_VERSION}.json"
  4. mcClientUrl = "http://bmclapi2.bangbang93.com/versions/{MC_VERSION}/{MC_VERSION}.jar";
  5. mcServerUrl = "http://bmclapi2.bangbang93.com/versions/{MC_VERSION}/minecraft_server.{MC_VERSION}.jar";;
  6. assestIndexUrl = "http://bmclapi2.bangbang93.com/indexes/{ASSET_INDEX}.json";
  7. assestUrl = "http://bmclapi2.bangbang93.com/assets"
  8. mcpUrl = "http://crystal.lss233.com.aslf.top/repositories/minecraft/fernflower-fix-1.0.zip"
  9. }
复制代码




4. 对于使用Gradle进行插件开发的小伙伴  

在build.gradle里的   repositories { .... }  里面加入一行:
  1. maven {
  2.             url 'http://crystal.lss233.com.aslf.top/repositories/minecraft/'
  3. }
复制代码





5. 对于啥都不用的小伙伴  

你可以用浏览器直接打开本源的网址,自行寻找你想要的依赖。




0x03 更新日志&更多使用介绍



2018年8月27日: 增加了对libraries.minecraft.net的镜像。详情: 13#
2018年9月22日: 加入了spigot和craftbukkit服务端核心。详情/使用方法: 22#
2019年2月04日: 增加了对Gradle程序的镜像。详情/使用方法: 29#

如果您有什么需要补充的仓库,或者想要提交自己的工件,也可以告诉我喔。
另外,如果出现 504 Gateway Time-out 的情况,应该是不会影响你的构建程序自动下载文件的。
如果本仓库无法正常使用,请提醒我,我会尽快修复。



0x04 写在后面


本人是没有稳定收入的学生,维护这个镜像服务需要不小的开销。
如果这个东西对您有帮助、想支持我继续下去,可以了解一下我在爱发电的主页喔~







评分

参与人数 12人气 +22 金粒 +250 收起 理由
酒石酸菌 + 2 + 50 神乎其技,不服不行!
Himmelt + 1 + 15 MCBBS有你更精彩~
耗子 + 2 MCBBS有你更精彩~
ROF + 2 MCBBS有你更精彩~
gooding300 + 3 + 25 MCBBS有你更精彩~
清晨w + 1 + 20 MCBBS有你更精彩~
GiNYAi + 2 + 40 MCBBS有你更精彩~
森林蝙蝠 + 2 + 30 MCBBS有你更精彩~
602723113 + 1 + 10 MCBBS有你更精彩~
360导航 + 2 + 30 神乎其技,不服不行!
a6809936 + 2 MCBBS有你更精彩~
cws_sh + 2 + 30 神乎其技,不服不行!

查看全部评分

Lss233 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2544
钻石
性别
保密
注册时间
2016-1-19
查看详细资料
 楼主| 发表于 2018-8-27 12:01:34 | 显示全部楼层
* 2018年8月27日更新
增加了对libraries.minecraft.net的镜像。
这意味着你还可以从这个仓库下载一些常见的游戏启动依赖,比如用于启动器。(亲测1.11可用)

评分

参与人数 1人气 +1 收起 理由
gooding300 + 1 MCBBS有你更精彩~

查看全部评分

回复

使用道具 举报

Lss233 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2544
钻石
性别
保密
注册时间
2016-1-19
查看详细资料
 楼主| 发表于 2018-9-22 22:58:01 | 显示全部楼层
本帖最后由 Lss233 于 2018-9-22 23:02 编辑

2018年9月22日更新
现在支持来自codemc提供的spigot和craftbukkit服务端作为依赖了
这些依赖可以让你的插件在不用Reflection的情况下
访问 OBC(org.bukkit.craftbukkit)和 NMS(net.minecraft.server)包下的内容
对于有时候想偷懒的情况来讲特别实用

你甚至还可以把它们下载下来直接作为服务端启动,不过由于是第三方提供的内容,因此可能存在安全隐患。

截止至目前,
Spigot支持的版本范围为: 1.8-1.13.1
Craftbukkit的版本范围: 1.7.2 - 1.13.1-R0.1-20180922.072020-7

例子:
1.12.2版本的spigot服务端核心

  1.         <dependency>
  2.             <groupId>org.spigotmc</groupId>
  3.             <artifactId>spigot</artifactId>
  4.             <version>1.12.2-R0.1-SNAPSHOT</version>
  5.         </dependency>
复制代码
直接下载: 戳我
1.13版本的craftbukkit服务端核心

  1.         <dependency>
  2.             <groupId>org.bukkit</groupId>
  3.             <artifactId>craftbukkit</artifactId>
  4.             <version>1.13-R0.1-SNAPSHOT</version>
  5.         </dependency>
复制代码
直接下载: 戳我

另外,如果您打算发布自己的lib,可以联系我喔····





回复

使用道具 举报

Lss233 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2544
钻石
性别
保密
注册时间
2016-1-19
查看详细资料
 楼主| 发表于 2019-2-4 14:50:45 | 显示全部楼层
本帖最后由 Lss233 于 2019-2-4 14:55 编辑

现已支持 gradlew 对Gradle程序的镜像。
使用方法:
打开项目中的 gradle/wrapper/gradle-wrapper.properties 文件,
将 services.gradle.org/distributions 替换为 lss233.com/artifactory/gradle-dist 即可。

镜像程序默认不会下载所有的Gradle版本,而且由于Gradle程序本身较大,因此
如果您在使用本镜像的时候出现超时问题,可能是因为这个镜像还没有被人下载过。
您可以先喝杯茶耐心等待镜像程序处理完毕,
然后您只需要重新执行之前的命令即可。

祝大家新年快乐~
回复

使用道具 举报

linevil 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
809
钻石
性别
保密
注册时间
2014-11-23
查看详细资料
发表于 2018-6-23 18:05:20 | 显示全部楼层
提醒一下 搬瓦工在某些情况下甚至不如minecraftforge.net
回复

使用道具 举报

Lss233 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2544
钻石
性别
保密
注册时间
2016-1-19
查看详细资料
 楼主| 发表于 2018-6-23 18:10:58 | 显示全部楼层
本帖最后由 Lss233 于 2018-6-23 18:20 编辑
linevil 发表于 2018-6-23 18:05
提醒一下 搬瓦工在某些情况下甚至不如minecraftforge.net

感谢您的提醒。
首先,我的bwh是中国优化线路;  其次,如果您真的使用过本仓库,你会知道镜像节点在国内。
如果你的网络无法正常连接到国内服务器,我也无能为力了。


回复

使用道具 举报

linevil 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
809
钻石
性别
保密
注册时间
2014-11-23
查看详细资料
发表于 2018-6-23 18:23:00 | 显示全部楼层
Lss233 发表于 2018-6-23 18:10
感谢您的提醒。
首先,我的bwh是中国优化线路;  其次,如果您真的使用过本仓库,你会知道镜像节点在国内 ...

对不起 也许是我错了
Snipaste_2018-06-23_18-21-18.png
回复

使用道具 举报

Lss233 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2544
钻石
性别
保密
注册时间
2016-1-19
查看详细资料
 楼主| 发表于 2018-6-23 18:46:50 | 显示全部楼层
linevil 发表于 2018-6-23 18:23
对不起 也许是我错了

直接访问是bwh的服务器,
下载jar和xml文件的时候url会重定向到国内节点。
回复

使用道具 举报

MagicLocyDragon 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
4758
钻石
性别
保密
注册时间
2017-3-27
查看详细资料
发表于 2018-6-23 19:03:45 | 显示全部楼层
感谢楼主分享!!!
表示之前一直弄着玩意儿要搞半天。。还慢的一批
回复

使用道具 举报

森林蝙蝠 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
4018
钻石
性别
保密
注册时间
2016-6-16
查看详细资料
发表于 2018-6-23 20:54:10 | 显示全部楼层

                               
登录/注册后可看大图

楼主有兴趣将这些核心都部署到maven源去吗?
回复

使用道具 举报

Lss233 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2544
钻石
性别
保密
注册时间
2016-1-19
查看详细资料
 楼主| 发表于 2018-6-23 21:49:16 | 显示全部楼层
森林蝙蝠 发表于 2018-6-23 20:54
楼主有兴趣将这些核心都部署到maven源去吗?

好的呀,镜像以下仓库:
  • destroystokyo-repo(主要包含paper-api, paperclip, waterfall)
  • lex-snapshots(主要包含了NeptuneLib)
  • sonatype(主要包含了bungeecord-api等一大堆东西( ?_ゝ`))
liteloader 我不清楚是在哪个repo里,不过它涉及到的几个repo已经在里面了
canary的repo无法访问,所以放弃镜像。


感谢您的建议!
回复

使用道具 举报

3222577979 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2251
钻石
性别
保密
注册时间
2015-7-19
查看详细资料
发表于 2018-6-24 13:47:30 | 显示全部楼层
辛苦了楼主
很好
我这边收藏了
回复

使用道具 举报

lliiooll 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
710
钻石
性别
保密
注册时间
2017-1-13
查看详细资料
发表于 2018-8-18 07:32:19 | 显示全部楼层
辛苦了楼主,但是我这里访问时
504 Gateway Time-out
回复

使用道具 举报

Lss233 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2544
钻石
性别
保密
注册时间
2016-1-19
查看详细资料
 楼主| 发表于 2018-8-18 11:29:21 | 显示全部楼层
lliiooll 发表于 2018-8-18 07:32
辛苦了楼主,但是我这里访问时
504 Gateway Time-out

抱歉,可能是我这里Nginx做的反代出了点问题。
现在应该可以正常访问了。
回复

使用道具 举报

lliiooll 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
710
钻石
性别
保密
注册时间
2017-1-13
查看详细资料
发表于 2018-8-18 11:53:46 | 显示全部楼层
感谢,现在正常了
回复

使用道具 举报

gooding300 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
8762
钻石
性别
保密
注册时间
2012-4-13
查看详细资料
发表于 2018-8-27 13:26:09 | 显示全部楼层
如果您有把握长时间维护下去的话
或许您可以去申请下高亮和加入顶置索引贴
感谢您的付出
回复

使用道具 举报

Lss233 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2544
钻石
性别
保密
注册时间
2016-1-19
查看详细资料
 楼主| 发表于 2018-8-27 13:43:46 | 显示全部楼层
gooding300 发表于 2018-8-27 13:26
如果您有把握长时间维护下去的话
或许您可以去申请下高亮和加入顶置索引贴
感谢您的付出

这个项目已经平稳运行两个月左右了,还没有遇到什么问题。
让它长期运行下去,我觉得也是没有问题的。我会努力下去的。
我已经在申请帖提交申请了。

谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | | 手机版

GMT+8, 2019-4-20 16:59 , Processed in 0.053624 second(s), Total 27, Slave 26 queries , Gzip On, MemCached On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标。
本站与Mojang以及微软公司没有从属关系。

© 2010-2019 我的世界中文论坛 版权所有。本站原创图文内容版权属于原创作者,未经许可不得转载。

快速回复 返回顶部 返回列表