どのように私は、ApacheアイビーとTestNGのを使用していますか?

StackOverflow https://stackoverflow.com/questions/762673

  •  11-09-2019
  •  | 
  •  

質問

私は<のhref = "http://ant.apache.org/ivy/で TestNGのに使用しようとしました"REL =" noreferrer "> Apacheのアイビーのが、成功しませんでした。ここに私のivy.xmlがあります:

<ivy-module version="2.0">

    <info organisation="me" module="myproject"/>

    <dependencies>
      <dependency org="org.testng" name="testng" rev="5.8" />
    </dependencies>

</ivy-module>

これは実際のTestNG jarファイルをダウンロードすることができません。 TestNGのはJDK14とjdk15のためのjarファイルを持っているためと考えられます。ここでivy:retrieveからの出力があります:

[ivy:retrieve] :: resolving dependencies :: me#myproject;working@jared-mbp17
[ivy:retrieve]  confs: [default]
[ivy:retrieve]  found org.testng#testng;5.8 in public
[ivy:retrieve] :: resolution report :: resolve 1139ms :: artifacts dl 11ms
    ---------------------------------------------------------------------
    |                  |            modules            ||   artifacts   |
    |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
    ---------------------------------------------------------------------
    |      default     |   1   |   1   |   1   |   0   ||   1   |   0   |
    ---------------------------------------------------------------------
[ivy:retrieve] 
[ivy:retrieve] :: problems summary ::
[ivy:retrieve] :::: WARNINGS
[ivy:retrieve]      [FAILED     ] org.testng#testng;5.8!testng.jar:  (0ms)
[ivy:retrieve]  ==== shared: tried
[ivy:retrieve]    /Users/jared/.ivy2/shared/org.testng/testng/5.8/jars/testng.jar
[ivy:retrieve]  ==== public: tried
[ivy:retrieve]    http://repo1.maven.org/maven2/org/testng/testng/5.8/testng-5.8.jar
[ivy:retrieve]      ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]      ::              FAILED DOWNLOADS            ::
[ivy:retrieve]      :: ^ see resolution messages for details  ^ ::
[ivy:retrieve]      ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]      :: org.testng#testng;5.8!testng.jar
[ivy:retrieve]      ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] 
[ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS

のリポジトリでは、二つの異なるjarファイルを見ることができます: http://repo1.maven.org/maven2 /org/testng/testng/5.8/testng-5.8-jdk14.jarする http://repo1.maven.org/maven2 /org/testng/testng/5.8/testng-5.8-jdk15.jarする

どのように私はjdk14またはjdk15のいずれかを指定できますか?

役に立ちましたか?

解決

あなたが望むアーティファクトの分類子を指定する必要があります。

関連 2.1.0-RC1するのよう修正があります。あなたが欲しいartifactを指定するdependency要素内の要素classifierを使用することができます。この場合、分類器は、jdk14またはjdk15でなければなりません。あなたはjdk15ivy.xmlたい場合は次のようになります:

<ivy-module version="2.0"
            xmlns:e="http://ant.apache.org/ivy/extra">

    <info organisation="me" module="myproject"/>

    <dependencies>
      <dependency org="org.testng" name="testng" rev="5.8"
                  transitive="false">
        <artifact name="testng" type="jar" ext="jar" e:classifier="jdk15" />
      </dependency>
    </dependencies>

</ivy-module>

"http://ant.apache.org/ivy/extra"要素の属性としてXML名前空間ivy-moduleの仕様に注意してください。それがなければe:classifierは動作しません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top