如何在ivysettings.xml中添加本地路径(而非URL)?我需要将我的Maven本地仓库(/Users/me/.m2/repository)添加到其中。谢谢。
尝试使用以下ivysettings.xml文件:
<ivysettings>
<settings defaultResolver="default"/>
<property name="m2-pattern" value="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]" override="false" />
<resolvers>
<chain name="default">
<filesystem name="local-maven2" m2compatible="true" >
<artifact pattern="${m2-pattern}"/>
<ivy pattern="${m2-pattern}"/>
</filesystem>
<ibiblio name="central" m2compatible="true"/>
</chain>
</resolvers>
</ivysettings>
如果本地Maven仓库缺少依赖项,它将包含Maven中央存储库。
注意:
重复使用本地Maven仓库的好处有限。Ivy会缓存从仓库获取的JAR文件。
Ivy的依赖关系是通过“解析器”来解决的。
这个页面非常适合理解它们的基本工作原理。
http://ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html
具体而言:如何“解析”本地maven存储库?
Ivy有一个“FileSystemResolver”,它不是采用Web地址,而是可以从本地根路径解析。请注意,当事情变得复杂时,会有一些陷阱,比如这个:http://ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html。解析器类似于maven Repository标签,因为它们定义了资源。
一个快速的建议
请记住,一旦您自定义了ivysettings.xml,如果您正在使用IDE,则必须告诉它明确地使用您的ivysettings.xml文件,而不是某些内部默认设置。
sbt publish-m2
<localRepository>
。 - Brian Topping
.pom
扩展名,就像这里建议的那样。这样做可以触发Ivy的POM转换逻辑,如果您需要引用合成配置(例如master
),则非常相关。 - mephi42