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 文件加载到我的编辑器 (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 运行(在 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

好吧,我终于成功了……我一次尝试了很多东西,其中一个奏效了。然后我开始一一删除。这是有效的...

在我的 ant 构建文件中,在 emma 任务中(我的以

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

我将此添加为任务的第一行:

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

That's it. By doing this, the Emma reports served up by the standalone Jenkins server are now encoded in UTF-8 and don't have the nasty diamond question marks for spaces.

于 2012-10-15T15:23:24.107 回答