11

Eclipse で JUNIT テストの HTML レポートを作成するように ANT を取得しようとしていますが、ANT ビルドを作成した後、実行すると次のエラーが発生します。

[junitreport] Processing C:\Documents and Settings\Administrator\workspace\Home\junit\TESTS-TestSuites.xml to C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\null785926900
[junitreport] Loading stylesheet jar:file:/C:/ANT/apache-ant-1.8.3/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
[junitreport] : Error! The first argument to the non-static Java function 'replace' is not a valid object reference.
[junitreport] : Error! Cannot convert data-type 'void' to 'reference'.
[junitreport] : Fatal Error! Could not compile stylesheet
[junitreport] Failed to process C:\Documents and Settings\Administrator\workspace\Home\junit\TESTS-TestSuites.xml

これを修正するにはどうすればよいですか?

実行しようとしている Build.xml のセクションは次のとおりです。

<target name="Home">
    <mkdir dir="${junit.output.dir}"/>
    <junit fork="yes" printsummary="withOutAndErr">
        <formatter type="xml"/>
        <test name="Home" todir="${junit.output.dir}"/>
        <classpath refid="Home.classpath"/>
    </junit>
</target>
<target name="junitreport">
    <junitreport todir="${junit.output.dir}">
        <fileset dir="${junit.output.dir}">
            <include name="TEST-*.xml"/>
        </fileset>
        <report format="frames" todir="${junit.output.dir}"/>
    </junitreport>
</target>
4

7 に答える 7

16

このエラーが発生したとき、Eclipse で build.xml ファイルを右クリックし、[Run as Ant build...] オプション (メニューの 3 番目のオプション) を選択し、[JRE] タブをクリックして [Run in theワークスペースと同じ JRE」オプションを選択してから、スクリプトの実行に進みました。何らかの理由で、これで問題が解決しました。正直なところ、理由はわかりません。

于 2013-05-10T20:43:57.890 に答える
9

Eclipse のバグはBug 384757に明確に記載されています。分析は、Oracle がバグを導入したことを示唆しています。Java バージョン 7 が必要ですが、JunitReport には Java バージョン 5 と Java バージョン 6 の初期バージョンが必要です。明らかな方法は、「bootclasspath」引数を Ant junitreport タスクに追加することですが、Java の問題は将来のリリースで Oracle によって修正されます。残念ながら、Ant タスク junitreport は bootclasspath オプションをサポートしていません。これは、Ant をサポートしている人々にできることでしょうか?

于 2012-09-05T16:20:07.373 に答える
4

Eclipse SDK Junoで *java 1.7.0_51* を使用してUbuntu 12.04でJava プログラムを実行しているときに、この状況に遭遇しました。代わりに apache-ant-1.9.2 を使用している Bhagyaraj の提案を採用します。(ps Eclipse Juno のデフォルトの ant バージョンは *org.apache.ant_1.8.3* で、私は apache-ant-1.9.3 を使用しています)

私の手順に従ってセットアップすることができます。

  1. apache-ant-1.9.3-bin.zip をダウンロードし、必要な場所に展開します。
  2. Eclipse を開き、[ウィンドウ] --> [設定] を選択します。
  3. [設定] ウィンドウが表示されます。左側で、ant --> ランタイムを選択してください
  4. 次に、ウィンドウの右側に注目してください。Classpathタブにいることを確認し、 Ant Home Entries(Default)を選択します。右側のAnt Home...というボタンがクリック可能になりました。
  5. 間違いなく、Ant Home...ボタンをクリックして、ant-1.9.3 があるフォルダーを選択します。このステップで間違ったフォルダーを選択すると、Eclipse はSpecified Ant home does not contain a "lib" directory のようなエラー メッセージを表示する場合があります。正しいディレクトリを選択すると、Ant Home Entries(デフォルト)**Ant Home Entries()になります。
  6. 適用をクリックすることを忘れないでください。

それらを変更した後、build.xml ファイルを右クリックして [実行] --> [1 Ant ビルド] を選択すると、Ant が 1.9.3 になったため、エラー メッセージは表示されません。

ビルド ファイルを実行するために apache-ant-1.8.4 もダウンロードしましたが、エラーを解決できません。

于 2014-03-28T13:28:15.097 に答える
3

jdk1.6.45 と最新の apache-ant-1.9.2-bin\ を使用しました

問題が解決しました。

MikeBachのメモによると

これは bug# です。お読みください: https://bugs.eclipse.org/bugs/show_bug.cgi?id=384757 Ant で修正済み。

よろしく、バギャラージ

于 2013-10-25T07:02:05.297 に答える
1

JDK 1.7 で Eclipse/JUnit レポートを使用している場合は、JDK 1.6 を使用してください。あなたが説明したものと同様のEclipse/JUnitレポートを含むJDK 1.7にバグがあります。これは同様のレポートである可能性があります: https://netbeans.org/bugzilla/show_bug.cgi?id=201022

于 2012-06-08T08:35:02.650 に答える