首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >常春藤自定义url解析器

常春藤自定义url解析器
EN

Stack Overflow用户
提问于 2010-08-30 17:48:36
回答 1查看 3.1K关注 0票数 3

我正在尝试在我的ivysettings.xml文件中创建自定义解析器:

代码语言:javascript
复制
<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>

如您所见,我只有一个在scala-tools repo中查找依赖项的UrlResolver。如果我指定我的依赖项,那么ivy会尝试在http://scala-tools.org/repo-releases/org.scala-lang/scala-library/2.8.0/scala-library-2.8.0.jarhttp://scala-tools.org/repo-releases/org.scala-lang/scala-library/2.8.0/scala-library.jar中找到它(是的,根据我在ivysettings.xml中的说明),很明显,它什么也找不到。为了让事情正常工作,我必须以这种方式指定依赖关系:

代码语言:javascript
复制
<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>

问:如何改变工件模式/其他东西来迫使ivy以正确的方式完成它的工作?

1http://scala-tools.org/repo-releases/ scala-工具库

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-31 04:54:03

ivy.xml

我检查了scala编译器的POM,发现它引用了模块scala-library。这意味着在ivy文件中只需要一个依赖声明:

代码语言:javascript
复制
<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

我建议在从任何与ibiblio兼容的存储库进行下载时使用Maven解析器。

代码语言:javascript
复制
<ivysettings>
    <settings defaultResolver="scalatools"/>
    <resolvers>
        <ibiblio name="scalatools" root="http://scala-tools.org/repo-releases" m2compatible="true"/>
    </resolvers>
</ivysettings>

如果需要下载其他库,可以增强设置文件,以便ivy只从scala存储库中检索scala模块

代码语言:javascript
复制
<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>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3599319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档