3

ivysettings.xmlファイルにカスタムリゾルバーを作成しようとしています。

<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リポジトリで依存関係を見つけようとするUrlResolverが1つだけあります。依存関係を正しく指定すると、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の指示によると)明らかに、何も見つかりません。動作させるには、次のように依存関係を指定する必要があります。

<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>

Q:アーティファクトパターン/他の何かを変更してツタにそれを正しい方法で機能させる方法は?

1http ://scala-tools.org/repo-releases/ scala-tools repo

4

1 に答える 1

6

ivy.xml

POMでscala-compilerをチェックしたところ、モジュールscala-libraryを参照していることがわかりました。これは、ivyファイルで必要な依存関係宣言が1つだけであることを意味します。

<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準拠のリポジトリからダウンロードする場合は、 ibiblioリゾルバーを使用することをお勧めします。

<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>
于 2010-08-30T20:54:03.343 に答える