1

json-lib-2.3-jdk15.jar をダウンロードしたい。アイビーには分類子タグがないことがわかったので、maven を使用します。以下は ivy.xml です。

<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"
       xmlns:m="http://ant.apache.org/ivy/maven">
    <info organisation="xxxx" module="xxx" status="integration"/>
    <dependencies>
        <dependency org="net.sf.json-lib" name="json-lib" rev="2.3"> 
            <artifact name="json-lib" type="jar" m:classifier="jdk15"/>
        </dependency>
    </dependencies>
</ivy-module>

そしてivysetting.xml

<ivysettings>
    <settings defaultResolver="default" />
    <include url="${ivy.default.settings.dir}/ivysettings-public.xml" />
    <include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/>
    <include url="${ivy.default.settings.dir}/ivysettings-local.xml" />
    <include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/>

    <caches artifactPattern="[organisation]/[module]/([branch]/)[type]s/([platform]/)[artifact]-[revision](.[ext])" />
    <resolvers>
        <filesystem name="local">
            <ivy
                pattern="${ivy.local.default.root}/[organisation]/[module]/([branch]/)[revision]/ivy.xml" />
            <artifact
                pattern="${ivy.local.default.root}/[organisation]/[module]/([branch]/)[revision]/[type]s/([platform]/)[artifact](.[ext])" />
        </filesystem>
        <ibiblio name="public" m2compatible="true" usepoms="true" pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]" /> 
        <chain name="default" returnFirst="true">
                    <resolver ref="local" />
            <resolver ref="public"/>
        </chain>
    </resolvers>
</ivysettings>

しかし、まだダウンロードできません。m:classifier が機能しないようです。これについて何か提案はありますか?ありがとう。

私は最終的に根本的な理由を見つけます。使うべきではない

xmlns:m="http://ant.apache.org/ivy/maven

私は使用する必要があります

xmlns:m="http://ant.apache.org/ivy/extra

私の場合、別のこととして、「artifact」タグに「conf」distribute を追加すると、jar のダウンロードが失敗します。そのため、「artifact」に「conf」を追加しないでください。

4

1 に答える 1

1

私のために働く....あなたはどのバージョンのツタを使用していますか?

次の例には、いくつかの推奨される拡張機能が含まれています

Apache Ant(TM) version 1.8.2
Apache Ivy 2.3.0-rc2

ivy.xml

<ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven">
    <info organisation="xxxx" module="xxx"/>
    <configurations>
        <conf name="jdk15"   description="JDK 1.5 dependencies"/>
    </configurations>
    <dependencies>
        <dependency org="net.sf.json-lib" name="json-lib" rev="2.3" conf="jdk15->master"> 
            <artifact name="json-lib" type="jar" m:classifier="jdk15"/>
        </dependency>
    </dependencies>
</ivy-module>

ノート:

  • 構成を使用することは常に良い考えです。この場合、ファイルをjdk15分類子でグループ化するために「jdk15」という名前のファイルを作成しました。
  • リモートの「マスター」構成は特別であり、推移的な依存関係は含まれていません(説明については次のリンクを参照してください)
  • Mavenスコープはivyによってivy構成にどのようにマッピングされますか

ivysettings.xml

<ivysettings>
    <settings defaultResolver="central" />
    <resolvers>
        <ibiblio name="central" m2compatible="true"/> 
    </resolvers>
</ivysettings>

ノート:

  • これは最小限のツタの設定ファイルです。(実際には、ファイルを省略でき、機能的には同じです)。
  • 「ローカル」リゾルバーを使用していますか?私の経験では、それは不要です(ビルド中にアーティファクトを公開している場合を除く)
于 2013-01-11T20:42:10.243 に答える