Ant 常春藤自定义url解析器
我正在尝试在ivysettings.xml文件中创建自定义解析器:Ant 常春藤自定义url解析器,ant,build-process,dependencies,ivy,dependency-management,Ant,Build Process,Dependencies,Ivy,Dependency Management,我正在尝试在ivysettings.xml文件中创建自定义解析器: <ivysettings> <settings defaultResolver="default"/> <resolvers> <chain name="default"> <url name="scala-tools"> <ivy pattern="http://scala-
<ivysettings>
<settings defaultResolver="default"/>
<resolvers>
<chain name="default">
<url name="scala-tools">
<ivy pattern="http://scala-tools.org/repo-releases/[organisation]/[module]/[revision]/ivy-[revision].xml" />
<artifact pattern="http://scala-tools.org/repo-releases/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
<artifact pattern="http://scala-tools.org/repo-releases/[organisation]/[module]/[revision]/[artifact].[ext]"/>
</url>
<!--<ibiblio name="ibiblio"/>-->
</chain>
</resolvers>
</ivysettings>
. 如果我指定了我的依赖项,ivy将尝试在中查找它(是的,根据我在ivysettings.xml中的说明),显然,它找不到任何东西。要使事情正常运行,我必须以以下方式指定依赖项:
<ivy-module version="2.2">
<info organisation="org.yoba" module="Yoba"/>
<dependencies>
<dependency org="org/scala-lang" name="scala-library" rev="2.8.0"/>
<!--<dependency org="org.scala-lang" name="scala-library" rev="2.8.0"/>-->
<dependency org="org/scala-lang" name="scala-compiler" rev="2.8.0"/>
<!--<dependency org="org.scala-lang" name="scala-compiler" rev="2.8.0"/>-->
</dependencies>
</ivy-module>
问:如何改变人工制品模式/其他东西来迫使常春藤以正确的方式完成它的工作
:scala工具repoivy.xml
我检查了scala编译器,发现它引用了模块scala库。这意味着在ivy文件中只需要一个依赖项声明:
<ivy-module version="2.0">
<info organisation="org.yoba" module="Yoba"/>
<dependencies>
<dependency org="org.scala-lang" name="scala-compiler" rev="2.8.0" conf="default"/>
</dependencies>
</ivy-module>
- 版本号必须为“2.0”
- 包含默认映射以避免下载可选依赖项
ivysettings.xml
我建议在从任何Maven兼容存储库下载时使用解析器
<ivysettings>
<settings defaultResolver="scalatools"/>
<resolvers>
<ibiblio name="scalatools" root="http://scala-tools.org/repo-releases" m2compatible="true"/>
</resolvers>
</ivysettings>
如果需要下载其他库,可以增强设置文件,以便ivy仅从scala存储库检索scala模块
<ivysettings>
<settings defaultResolver="central"/>
<resolvers>
<ibiblio name="central" m2compatible="true"/>
<ibiblio name="scalatools" root="http://scala-tools.org/repo-releases" m2compatible="true"/>
</resolvers>
<modules>
<module organisation="org.scala-lang" resolver="scalatools"/>
</modules>
</ivysettings>
谢谢,关于我的问题的答案可以在ibiblio解析器描述中找到:“使用m2compatible属性,您可以受益于maven 2存储库的兼容性(在斜线中转换组织中的点,搜索POM,使用POM的传递依赖项)”