2.4 依赖管理

依赖项管理

Forge对于管理和载入模组依赖有一些支持。库文件(libraries),甚至是其它的模组,都可以用一种(特别的)方式嵌入到你构建的模组中,使得Forge能够在运行时以一种兼容方式提取和装载它们。

 

模组仓库

模组仓库是一个类似于Maven的包含着模组和库文件的仓库(repository)。该仓库中的一个构件是由它的Maven坐标确定的:groupId:artifactId:version:classifier@extension(译者注:Forge导引原文是@extention,猜测可能原作者打错了)。分类器(classifier)和扩展(extension)是可选的。Forge可以归档、管理和装载这个仓库中的模组和库文件。模组仓库可能包含多个版本的模组和库文件,包括其快照版本。

如果仓库中的jar定义了Maven-Artifact属性,Forge就能为这个jar归档。该属性的值应当为该jar的Maven坐标。

模组仓库支持快照构件。如果快照版本是以 -SNAPSHOT 结尾的,该构件将被解析为具有最新时间戳的版本。时间戳可以设置为Timestamp属性,该属性(的值)应当为以毫秒为单位的从上一个时间点开始经过的时间(原文是“should be the time since the epoch in milliseconds”)。

 

依赖项提取

Forge提供了一个简单的方法将依赖项嵌入到模组中并在运行时提取它们。通过将依赖的jar放入你自己的jar中,Forge就能将他们提取到模组仓库并装载它们。这可以用作着色(shading)的替代方法,并具有解决依赖项版本冲突的潜在好处。

jar文件的包含依赖项由ContainedDeps属性标记。它的值应该是一个空格分隔的列表,其中包含将要提取的jar文件的名称。这些jar文件应放入 /META-INF/libraries/{entry} 目录中。

Forge将检查包含的jar的清单来确定其Maven坐标以便归档。如果文件 /META-INF/libraries/{entry}.meta 存在,Forge就会将把它读作jar的清单。依赖项将根据其Maven-Artifact属性归档在本地仓库中。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值