0

これは私のivy.xmlです:

<dependencies defaultconf="default">
    <dependency org="com.mycompany" name="custom" rev="1.0"/>
</dependencies>

ivysettings.xml:

<ivysettings>
    <settings defaultResolver="repo.mycompany.com" />
    <resolvers>
        <ibiblio name="repo.mycompany.com" root="http://repo.mycompany.com/maven/" m2compatible="true" usepoms="true" />
    </resolvers>
</ivysettings>

Artifact com.mycompany:custom:1.0がmaven pomとして作成され、repo.mycompany.comに公開されました。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.mycompany</groupId>
    <artifactId>custom</artifactId>
    <version>1.0</version>
    <packaging>pom</packaging>

    <dependencies>
        <dependency>
            <artifactId>commons-logging</artifactId>
            <groupId>commons-logging</groupId>
            <version>1.1</version>
            <exclusions>
                 <exclusion>
                     <groupId>logkit</groupId>
                     <artifactId>logkit</artifactId>
                 </exclusion>
                <exclusion>
                    <groupId>avalon-framework</groupId>
                    <artifactId>avalon-framework</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
</project>

そのようなコードでツタのライブラリをダウンロードするとき:

<target name="ivy-init">
    <mkdir dir="${internal-libs}"/>
    <ivy:settings file="${ivy.settings.dir}/ivysettings.xml"/>
    <ivy:retrieve pattern="${internal-libs}/[artifact]-[revision].[ext]" sync="true"  />
</target>

ivyダウンロード除外されたdepsavalon-framework:avalon-framework:4.1.3およびlogkit:logkit:1.0.1

なんで?私はそれをpomで排除しました!

同じ単純なivy.xmlを維持しながら、ivyでそれを除外する方法は?

4

1 に答える 1

0

次の手順でこれを解決します。

  1. pom.xml を確認し、commons-logging:commons-logging に依存する他のアーティファクトに除外を追加します
  2. 最新のアイビーにアップデート
  3. ローカルの Ivy キャッシュを消去する
于 2012-05-17T05:15:09.610 に答える