3

これを約1.5時間機能させようとしています...

私は Emma を Jenkins 内で実行しており、Jenkins に Emma レポートを artifacts ディレクトリに移動させて、Jenkins ビルド内で表示できるようにしています。レポートが ISO-8859-1 でエンコードされていることを除いて、これはすべて正常に機能します。java -jar jenkins.war を介して Jenkins を実行するか、jenkins.war をローカルの Tomcat に配置すると、どちらも Emma のカバレッジ ページが表示され、空白のひし形内に疑問符としてスペースが表示されます。

jvm とローカルの Tomcat を UTF-8 に設定していますが、変更したくありません (変更できません)。簡単なテストとして、HTML ファイルの 1 つをエディター (Geany) にロードし、HTML のコンテンツ タイプを UTF-8 に変更し、Geany にファイルのエンコーディングを UTF-8 に変更してもらいました。細かい(ダイヤモンドなし)。このページを見つけました: http://emma.sourceforge.net/reference/ch03s02.html と書かれています:

プロパティ: report.out.encoding
デフォルト: report.out.encoding のデフォルトは JRE file.encoding システム プロパティであり、HTML および XML レポート タイプではオーバーライドされます:
report.html.out.encoding: ISO-8859-1
report.xml .out.encoding: UTF-8

しかし、それが機能しないか、それを機能させるための正しい呪文に出くわしていません。

ANTファイルに追加しようとしました(build.xmlのさまざまな場所にあります):

<property name="emma.report.html.out.encoding" value="UTF-8" />
<property name="report.html.out.encoding" value="UTF-8" />

追加してみました

report.html.out.encoding=UTF-8
emma.report.html.out.encoding=UTF-8

をプロパティ ファイルに追加し、emma run (ant 内) を変更してそれを読み取りました (動作せず、削除したため、XML の例は手元にありません)。

追加した

<jvmarg value="-Demma.report.html.out.encoding=UTF-8" />

私のbuild.xmlの別のemma設定のすぐ下にあるantビルドファイルに。

両方でTomcatを実行してみました

-Demma.report.html.out.encoding=UTF-8
and
-Dreport.html.out.encoding=UTF-8

そして最後に、両方でjenkins.warファイルを実行してみました

java -Demma.report.html.out.encoding=UTF-8 -jar jenkins.war
and
java -Dreport.html.out.encoding=UTF-8 -jar jenkins.war

そして、これらのどれも機能しませんでした。

何か案は?

4

1 に答える 1

3

さて、ようやくうまくいきました...一度にたくさんのことを試してみましたが、そのうちの1つがうまくいきました。それから私はそれらを一つずつ取り除き始めました。これがうまくいった...

私の ant ビルド ファイルの emma タスク (私の場合は

<emma enabled="${emma.enabled}" >

これをタスクの最初の行として追加しました。

<property name="report.html.out.encoding" value="UTF-8" />

それでおしまい。これにより、スタンドアロンの Jenkins サーバーによって提供される Emma レポートが UTF-8 でエンコードされ、スペースの厄介なひし形の疑問符がなくなります。

于 2012-10-15T15:23:24.107 に答える