1

2 つの異なる jar を持つプロジェクトがあり、両方に同じクラスがいくつか含まれています。私が必要とするのは、Jar「B」の前にJar「A」のクラスを使用することです。通常の Java コンパイル (および Ant を使用) では、クラスパス自体の順序を指定できました。このようにして、Jar "A" のクラスが Jar "B" のクラスの前に使用されることを保証できます。

Ivyでこれを行う方法はありますか?

これを行う唯一の方法は、 my に 2 つの個別の構成を作成することivy.xmlです。

<dependency org="com.vegibank" name="a.jar"
    rev="1.0" conf="foo->default"/>

<dependency org="com.vegibank" name="b.jar"
    rev="1.0" conf="compile->default"/>

次に、2 つの個別のパスクラス参照を作成します。

<ivy:cachepath pathid="compile.foo.classpath"
    conf="foo"/>
<ivy:cachepath pathid="compile.normal.classpath"
    conf="compile"/>

次に<javac/>、パスを指定できます。

<javac ...>
    <classpath refid="compile.foo.classpath"/>
    <classpath refid="compile.normal.classpath"/>
</javac>

ただし、Ivy が解決を行っているときに、jar がクラスパスにロードされる方法を保証する方法が必要であると思います。

これを行う方法はありますか?

4

1 に答える 1