A plugin for Jenkins to capture and visualize code coverage testing results for projects using JaCoCo for code-coverage analysis.
Jenkins 的插件,用于使用 JaCoCo 进行代码覆盖率分析来捕获和可视化项目的代码覆盖率测试结果。
More information can be found on the Wiki page https://wiki.jenkins-ci.org/display/JENKINS/JaCoCo+Plugin
更多信息可以在 Wiki 页面上找到:https://wiki.jenkins-ci.org/display/JENKINS/JaCoCo+Plugin
Available options are described at https://www.jenkins.io/doc/pipeline/steps/jacoco/
可用选项的描述见 https://www.jenkins.io/doc/pipeline/steps/jacoco/
Note: Version 2.0.0 and higher requires using JaCoCo 0.7.5 or newer, if your projects still use JaCoCo 0.7.4, the plugin will not display any code-coverage numbers any more! In this case please use version 1.0.19 until you can update jacoco in your codebase.
注意:2.0.0及更高版本需要使用JaCoCo 0.7.5或更高版本,如果您的项目仍然使用JaCoCo 0.7.4,该插件将不再显示任何代码覆盖率数字!在这种情况下,请使用版本 1.0.19,直到您可以更新代码库中的 jacoco。
The following is an example snippet that can be used in a Jenkinsfile
以下是可在 Jenkinsfile
中使用的示例代码片段
post {
success {
jacoco(
execPattern: '**/build/jacoco/*.exec',
classPattern: '**/build/classes/java/main',
sourcePattern: '**/src/main'
)
}
}
See https://www.jenkins.io/doc/pipeline/steps/jacoco/ for the list of available options.
有关可用选项的列表,请参阅 https://www.jenkins.io/doc/pipeline/steps/jacoco/。
When looking for things to work at there are pull requests and a list of Jenkins Issues.
当寻找可以解决的问题时,有拉取请求和 Jenkins 问题列表。
In general the plugin is currently in "minimal maintenance" mode, i.e. no larger development is done due to the small number of active contributors and general time constraints.
一般来说,该插件目前处于“最小维护”模式,即由于活跃贡献者数量较少和一般时间限制,没有进行更大的开发。
Please speak up if you are interested in helping to maintain this plugin!
如果您有兴趣帮助维护这个插件,请大声说出来!
There is a developer list at https://groups.google.com/forum/#!forum/jenkins-jacoco-plugin-mailing-list, it is usually very low volume.
https://groups.google.com/forum/#!forum/jenkins-jacoco-plugin-mailing-list 有一个开发人员列表,通常数量很少。
Plugin source code is hosted on GitHub.
插件源代码托管在 GitHub 上。
New feature proposals and bug fix proposals should be submitted as GitHub pull requests.
新功能提案和错误修复提案应作为 GitHub 拉取请求提交。
Fork the repository on GitHub, prepare your change on your forked copy, and submit a pull request (see here for open pull requests). Your pull request will be evaluated by this job.
在 GitHub 上分叉存储库,在分叉副本上准备更改,然后提交拉取请求(请参阅此处了解开放的拉取请求)。您的拉取请求将由该作业进行评估。
Before submitting your change, please assure that you've added a test which verifies your change. There have been many developers involved in the jacoco plugin and there are many, many users who depend on the jacoco-plugin. Tests help us assure that we're delivering a reliable plugin, and that we've communicated our intent to other developers in a way that they can detect when they run tests.
在提交更改之前,请确保您已添加一个测试来验证您的更改。已经有很多开发者参与了 jacoco 插件,并且有很多很多用户依赖 jacoco-plugin。测试帮助我们确保我们正在提供可靠的插件,并且我们已经以其他开发人员可以在运行测试时检测到的方式将我们的意图传达给他们。
Code coverage reporting is available as a maven target and is actively monitored. Please try your best to improve code coverage with tests when you submit.
代码覆盖率报告可作为 Maven 目标使用,并受到积极监控。请在提交时尽力通过测试提高代码覆盖率。
Before submitting your change, please review the output of the checks that run in CI at https://ci.jenkins.io/job/Plugins/job/jacoco-plugin/ to assure that you haven't introduced new warnings.
在提交更改之前,请检查在 CI 中运行的检查的输出(网址为 https://ci.jenkins.io/job/Plugins/job/jacoco-plugin/),以确保您没有引入新的警告。
- Build the plugin: 构建插件:
mvn package
- Test locally (invokes a local Jenkins instance with the plugin installed):
本地测试(调用安装了插件的本地 Jenkins 实例):
mvn hpi:run
See https://jenkinsci.github.io/maven-hpi-plugin/ for details.
有关详细信息,请参阅 https://jenkinsci.github.io/maven-hpi-plugin/。
Rolling a release requires you to set up a few additional things:
滚动发布需要您设置一些额外的东西:
-
Run with Java 11 to not push code compiled with a newer version of Java
使用 Java 11 运行,不推送使用较新版本的 Java 编译的代码 -
Github authentication should work via SSH, username used should be "git", it should use one of the local private SSH keys which should be uploaded to Github, see https://github.com/settings/keys, test via
Github 身份验证应通过 SSH 进行,使用的用户名应为“git”,它应使用应上传到 Github 的本地 SSH 私钥之一,请参阅 https://github.com/settings/keys,通过进行测试ssh -T git@github.com
You should get back a line containing You've successfully authenticated
您应该返回包含 You've successfully authenticated
的行
-
Jenkins-CI authentication should work via settings in
~/.m2/settings.xml
, see http://maven.apache.org/guides/mini/guide-encryption.html for details
Jenkins-CI 身份验证应通过~/.m2/settings.xml
中的设置进行工作,有关详细信息,请参阅 http://maven.apache.org/guides/mini/guide-encryption.html -
The mvn-calls below should not require "username" or "password", if they do ask for it, then some setup is incorrect
下面的 mvn 调用不应要求“用户名”或“密码”,如果他们确实要求,则某些设置不正确 -
Apache Maven 3.8.1 or newer is required
需要 Apache Maven 3.8.1 或更高版本 -
Check that all tests pass ("mvn findbugs:check" and "mvn checkstyle::check" report violations but are not blocking releases for now...)
检查所有测试是否通过(“mvn findbugs:check”和“mvn checkstyle::check”报告违规,但目前不阻止发布......)mvn clean package && mvn validate
-
Manually test the plugin
手动测试插件mvn hpi:run
Go to http://localhost:8080/jenkins/ and perform some testing
转到 http://localhost:8080/jenkins/ 并执行一些测试 -
Prepare the release 准备发布
mvn release:prepare -DskipTests -Dmaven.test.skip=true
This will ask for the release numbers and the tag in the source control system.
这将要求提供版本号和源代码控制系统中的标签。 -
Roll the release 滚动发布
mvn release:perform -DskipTests -Darguments="-DskipTests" -Dmaven.test.skip=true
This should perform the actual uploads of the resulting binary packages.
这应该执行生成的二进制包的实际上传。 -
Update release notes at https://github.com/jenkinsci/jacoco-plugin/tags
更新发行说明:https://github.com/jenkinsci/jacoco-plugin/tags -
Release should be visible immediately at https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/jacoco/
发布应立即可见 https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/jacoco/ -
Release is published after some time at https://mvnrepository.com/artifact/org.jenkins-ci.plugins/jacoco?repo=jenkins-releases
一段时间后发布在 https://mvnrepository.com/artifact/org.jenkins-ci.plugins/jacoco?repo=jenkins-releases
See also general documentation about releasing Jenkins plugins:
另请参阅有关发布 Jenkins 插件的一般文档:
- Current documentation: https://www.jenkins.io/doc/developer/publishing/requesting-hosting/
当前文档:https://www.jenkins.io/doc/developer/publishing/requesting-hosting/ - Maven Release Plugin: http://maven.apache.org/maven-release/maven-release-plugin/usage.html
Maven 发布插件:http://maven.apache.org/maven-release/maven-release-plugin/usage.html - The following are slightly outdated, but still contain some useful information
以下内容稍显过时,但仍然包含一些有用的信息
- Repository address: https://github.com/jenkinsci/jacoco-plugin/
仓库地址:https://github.com/jenkinsci/jacoco-plugin/ - Mailing list: http://groups.google.com/group/jenkins-jacoco-plugin-mailing-list
邮件列表:http://groups.google.com/group/jenkins-jacoco-plugin-mailing-list - Issue tracking: https://issues.jenkins-ci.org/browse/JENKINS/
问题跟踪:https://issues.jenkins-ci.org/browse/JENKINS/ - Build and test results: https://jenkins.ci.cloudbees.com/job/plugins/job/jacoco-plugin/
构建和测试结果:https://jenkins.ci.cloudbees.com/job/plugins/job/jacoco-plugin/
This plugin allows you to capture code coverage report from JaCoCo. Jenkins will generate the trend report of coverage and some other statistics.
该插件允许您从 JaCoCo 捕获代码覆盖率报告。 Jenkins 将生成覆盖率趋势报告和一些其他统计数据。
It also includes functionality to include columns in Dashboards which displays the latest overall coverage numbers and links to the coverage report.
它还包括在仪表板中包含列的功能,其中显示最新的总体覆盖率数字和覆盖率报告的链接。
The plugin provides two things, a build-publisher to record and display coverage data as part of builds as well as a new column-type for dashboard views which can display coverage data in Dashboards.
该插件提供了两个功能,一个是构建发布器,用于在构建过程中记录和显示覆盖率数据,另一个是仪表板视图的新列类型,可以在仪表板中显示覆盖率数据。
First you need to get coverage calculated as part of your build/tests, see the JaCoCo documentation
首先,您需要将覆盖率计算为构建/测试的一部分,请参阅 JaCoCo 文档
for details. You need at least one or more *.exec file available after tests are executed. Usually this means adjusting
了解详情。执行测试后,您至少需要一个或多个可用的 *.exec 文件。通常这意味着调整
your Maven pom.xml or Ant build.xml file..
你的 Maven pom.xml 或 Ant build.xml 文件..
In order to get the coverage data published to Jenkins, you need to add a JaCoCo publisher and configure it so it will
为了将覆盖率数据发布到 Jenkins,您需要添加一个 JaCoCo 发布者并对其进行配置,以便它将
find all the necessary information. Use the help provided via the question-mark links for more information. Basically
找到所有必要的信息。使用通过问号链接提供的帮助来获取更多信息。基本上
you specify where the *.exec files are, where compiled code can be found and where the corresponding source code is
您指定 *.exec 文件的位置、编译后的代码在哪里以及相应的源代码在哪里
located after the build is finished to let the plugin gather all necessary pieces of information..
位于构建完成后,让插件收集所有必要的信息。
After the job executed, the build-output will show that the JaCoCo-publisher is executed and collects the data. This
作业执行后,构建输出将显示 JaCoCo-publisher 已执行并收集数据。这
output can also give hints if something goes wrong at this stage:
如果此阶段出现问题,输出还可以给出提示:
Zeichne Testergebnisse auf.
[JaCoCo plugin] Collecting JaCoCo coverage data...
[JaCoCo plugin] build/*.exec;build/*-classes;src/java,src/*/java,src/*/src; locations are configured
[JaCoCo plugin] Number of found exec files: 5
[JaCoCo plugin] Saving matched execfiles: .../build/jacoco-excelant.exec .../build/jacoco-main.exec .../build/jacoco-ooxml-lite.exec
[JaCoCo plugin] Saving matched class directories: .../build/examples-classes .../build/excelant-classes .../build/excelant-test-classes
[JaCoCo plugin] Saving matched source directories: .../src/contrib/src .../src/examples/src .../src/excelant/java .../src/java
[JaCoCo plugin] Loading inclusions files..
[JaCoCo plugin] inclusions: []
[JaCoCo plugin] exclusions: [**/Test*]
[JaCoCo plugin] Thresholds: JacocoHealthReportThresholds [minClass=0, maxClass=0, minMethod=0, maxMethod=0, minLine=0, maxLine=0,
minBranch=0, maxBranch=0, minInstruction=0, maxInstruction=0, minComplexity=0, maxComplexity=0]
[JaCoCo plugin] Publishing the results..
[JaCoCo plugin] Loading packages..
[JaCoCo plugin] Done.
If data gathering is successful, the build will include a link to the coverage results similar to the HTML report of
如果数据收集成功,构建将包含一个指向覆盖结果的链接,类似于 HTML 报告
JaCoCo itself. The job page will be enhanced with a chart with the trend of code coverage over the last builds.
贾可可本身。作业页面将通过包含上次构建的代码覆盖率趋势的图表得到增强。
This part of the JaCoCo plugin allows you to add a new type of column to a project-table in the Dashboard view which
JaCoCo 插件的这一部分允许您向仪表板视图中的项目表添加新类型的列,
will show the coverage number of the last build for ajob together with some color coding which allows to quickly see
将显示作业的最后构建的覆盖率编号以及一些颜色编码,以便快速查看
projects with low coverage.
覆盖率低的项目。
The fill-color in use by the column is a continuous color-range with the following points:
列使用的填充颜色是一个连续的颜色范围,具有以下几点:
- PERFECT = 100.0 完美 = 100.0
- EXCELLENT at 97.0 优秀,97.0
- GOOD at 92.0 良好,92.0
- SUFFICIENT at 85.0 85.0 就足够了
- FAIR at 75.0 公平为 75.0
- POOR at 50.0 50.0 较差
- TRAGIC at 25.0 悲剧性的 25.0
- ABYSSMAL at 0.0 0.0 深渊
- NA = No coverage configured
NA = 未配置覆盖范围
See the Jenkins JIRA 查看 Jenkins JIRA
- Unfortunately JaCoCo 0.7.5 breaks compatibility to previous binary formats of the jacoco.exec files. The JaCoCo plugin up to version 1.0.19 is based on JaCoCo 0.7.4, thus you cannot use this version with projects which already use JaCoCo 0.7.5 or newer. JaCoCo plugin starting with version 2.0.0 uses JaCoCo 0.7.5 and thus requires also this version to be used in your projects. Please stick to JaCoCo plugin 1.0.19 or lower if you still use JaCoCo 0.7.4 or lower
不幸的是,JaCoCo 0.7.5 破坏了与 jacoco.exec 文件以前的二进制格式的兼容性。 JaCoCo 插件至版本 1.0.19 基于 JaCoCo 0.7.4,因此您不能将此版本用于已使用 JaCoCo 0.7.5 或更高版本的项目。从版本 2.0.0 开始的 JaCoCo 插件使用 JaCoCo 0.7.5,因此也需要在您的项目中使用此版本。如果您仍然使用 JaCoCo 0.7.4 或更低版本,请坚持使用 JaCoCo 插件 1.0.19 或更低版本
For current versions see the changelog in the release-area at https://github.com/jenkinsci/jacoco-plugin/releases
对于当前版本,请参阅发布区域中的变更日志:https://github.com/jenkinsci/jacoco-plugin/releases
- Fix the m2e lifecycle-mapping, #64
修复 m2e 生命周期映射,#64 - Integrate automated builds via travis-ci and show the build-state on the github page
通过 travis-ci 集成自动化构建并在 github 页面上显示构建状态 - Fix for JENKINS-31751 JaCoCo 2.0.0 plugin shows html instead of coverage report chart
修复 JENKINS-31751 JaCoCo 2.0.0 插件显示 html 而不是覆盖率报告图表
- Major version change because the jacoco.exec file from the newer JaCoCo is binary incompatible with previous builds
主要版本更改,因为较新的 JaCoCo 中的 jacoco.exec 文件与以前的版本二进制不兼容 - Update to JaCoCo 0.7.5, this causes binary incompatibility! See #55
更新到 JaCoCo 0.7.5,这会导致二进制不兼容!参见#55 - Add coverage summary on build status/result page. Thanks to Felipe Brandão for the patch, see #61
在构建状态/结果页面上添加覆盖率摘要。感谢 Felipe Brandão 提供的补丁,请参阅 #61
- Update used version of JaCoCo to 0.7.4
将使用的JaCoCo版本更新至0.7.4
- Fix JENKINS-23708 NullPointerException if older JaCoCo reports are opened
如果打开较旧的 JaCoCo 报告,请修复 JENKINS-23708 NullPointerException
- Fix [JENKINS-24450] JacocoPublisher serializes concurrent builds waiting for checkpoint - #45 - JacocoPublisher serializes concurrent builds waiting for checkpoint
修复 [JENKINS-24450] JacocoPublisher 序列化等待检查点的并发构建 - #45 - JacocoPublisher 序列化等待检查点的并发构建 - Fix [JENKINS-21529] add raw number metrics to the API - #42 - add raw number metrics to the API
修复 [JENKINS-21529] 将原始数字指标添加到 API - #42 - 将原始数字指标添加到 API - Fix #35 - Fix minor glitches in coverage table
修复 #35 - 修复覆盖率表中的小故障 - Fix [JENKINS-23623] Fix URL in JaCoCo Coverage Column in non-default views
修复 [JENKINS-23623] 修复非默认视图中 JaCoCo 覆盖范围列中的 URL - Set License to MIT License
将许可证设置为 MIT 许可证
- Fix [JENKINS-23426] - Crash publishing jacoco report across all projects - #44 - set dependency of asm to 5.0.1
修复 [JENKINS-23426] - 在所有项目中发布 jacoco 报告时崩溃 - #44 - 将 asm 的依赖项设置为 5.0.1
- Fix [JENKINS-20440] Inspector problem
修复 [JENKINS-20440] 检查器问题 - Fix [JENKINS-22716] - Update to JaCoCo 0.7.x to support Java 8
修复 [JENKINS-22716] - 更新到 JaCoCo 0.7.x 以支持 Java 8 - Fix #40 - Project Dashboard chart having data cut off
修复 #40 - 项目仪表板图表的数据被切断
Core JaCoCo plugin 核心 JaCoCo 插件
- Fix [JENKINS-19526] Display Branch Coverage Information
修复 [JENKINS-19526] 显示分支覆盖信息 - Fix [JENKINS-19539] Do not (try to) generate coverage information if build was aborted
修复 [JENKINS-19539] 如果构建中止,请勿(尝试)生成覆盖率信息 - Fix [JENKINS-17027] Red/green ratio is wrong
修复 [JENKINS-17027] 红/绿比例错误 - Fix [JENKINS-19661] Inconsistent complexity score on the dashboard portlet
修复 [JENKINS-19661] 仪表板 portlet 上的复杂性分数不一致 - Fix [JENKINS-19662] Removed (always-empty) block coverage column from the dashboard portlet
修复 [JENKINS-19662] 从仪表板 portlet 中删除了(始终为空)块覆盖列 - Fix [JENKINS-19789] Method parameters in the class summary table
修复 [JENKINS-19789] 类摘要表中的方法参数
Core JaCoCo plugin 核心 JaCoCo 插件
- Fix JENKINS-16948: Support for changing build status if expected coverage is not reached
修复 JENKINS-16948:如果未达到预期覆盖范围,支持更改构建状态 - Fix JENKINS-15539: /jacoco.exec now serves the (possibly combined) jacoco.exec file
修复 JENKINS-15539:/jacoco.exec 现在提供(可能合并的)jacoco.exec 文件 - Fix JENKINS-15571: plugin crashes if jacoco didn't run
修复 JENKINS-15571:如果 jacoco 未运行,插件会崩溃 - Stream output to avoid holding large amounts of data in memory
流输出以避免在内存中保存大量数据
Coverage column: 覆盖栏:
- Fix JENKINS-18894: Do not include coverage column in new Dashboards by default
修复 JENKINS-18894:默认情况下,新仪表板中不包含覆盖率列 - Fix JENKINS-16790: Link from Dashboard to coverage report
修复 JENKINS-16790:从仪表板链接到覆盖率报告 - Fix JENKINS-16786: make coverage column show N/A as white, not black
修复 JENKINS-16786:使覆盖率列显示 N/A 为白色,而不是黑色 - Fix JENKINS-16788: Update German translation
修复 JENKINS-16788:更新德语翻译 - Add some help-items for configuration items
为配置项添加一些帮助项
- Fix JENKINS-16935: The default no-name package breaks the rendering
修复 JENKINS-16935:默认的无名包会破坏渲染 - Fix JENKINS-15538: Show source highlighting on the whole class
修复 JENKINS-15538:在整个类上显示源突出显示
- Fix JENKINS-16777: ArrayIndexOutOfBoundsException when trying to publish the Jacoco report
修复 JENKINS-16777:尝试发布 Jacoco 报告时出现 ArrayIndexOutOfBoundsException - Fix JENKINS-16837: Don't change build status
修复 JENKINS-16837:不要更改构建状态
- Fix JENKINS-16096: Support for inclusions, exclusions
修复 JENKINS-16096:支持包含、排除 - Fix JENKINS-15011: Jacoco Plugin 1.0.3 - no threshold config and displays broken graphic link
修复 JENKINS-15011:Jacoco Plugin 1.0.3 - 无阈值配置并显示损坏的图形链接 - Fix JENKINS-15366: Problem displaying Jacoco coverage data in Jenkins for very large number of classes and methods.
修复 JENKINS-15366:在 Jenkins 中显示大量类和方法的 Jacoco 覆盖率数据时出现问题。 - Fix JENKINS-15570: Coverage report includes classes that have been excluded from Jacoco analysis
修复 JENKINS-15570:覆盖率报告包含已从 Jacoco 分析中排除的类 - Fix JENKINS-15180: should be able to configure "coverage targets"
修复 JENKINS-15180:应该能够配置“覆盖目标” - Fix JENKINS-16310: Source code loses spacing/indenting due to html white space collapsing.
修复 JENKINS-16310:由于 html 空白折叠,源代码丢失间距/缩进。
- Fix JENKINS-15217: Wrong vertical scale in coverage report graph
修复 JENKINS-15217:覆盖率报告图表中的垂直比例错误 - Fix JENKINS-15831: Switch line colors in graph
修复 JENKINS-15831:切换图表中的线条颜色 - Fix JENKINS-15366: Problem displaying Jacoco coverage data in Jenkins for very large number of classes and methods.
修复 JENKINS-15366:在 Jenkins 中显示大量类和方法的 Jacoco 覆盖率数据时出现问题。 - Fix JENKINS-15177: main project coverage trend graph has wrong y axis
修复 JENKINS-15177:主项目覆盖趋势图 y 轴错误
- Fix JENKINS-15463: JaCoCo Jenkins plugin does not work on a linux slave
修复 JENKINS-15463:JaCoCo Jenkins 插件无法在 Linux 从属设备上运行 - Fix JENKINS-15479: Base dir not found
修复 JENKINS-15479:未找到基本目录 - Fix JENKINS-15182:improve formatting of coverage reports
修复 JENKINS-15182:改进覆盖率报告的格式 - Fix JENKINS-14928: Sourcefile highlighting loses the indentation
修复 JENKINS-14928:源文件突出显示丢失缩进
- Fix JENKINS-15242: org.objectweb.asm.ClassReader.accept error
修复 JENKINS-15242:org.objectweb.asm.ClassReader.accept 错误
- Refactoring: There are no separate modules anymore.
重构:不再有单独的模块。 - Fix JENKINS-14939:Support single jacoco.exec + multiple modules for sources and classes (based on patterns)
修复 JENKINS-14939:支持单个 jacoco.exec + 源和类的多个模块(基于模式) - Fix JENKINS-15366:Problem displaying Jacoco coverage data in Jenkins for very large number of classes and methods.
修复 JENKINS-15366:在 Jenkins 中显示大量类和方法的 Jacoco 覆盖率数据时出现问题。
- Fixed JENKINS-15088: When the missed count is bigger than the covered, the redbar becomes too long
修复了 JENKINS-15088:当错过的计数大于覆盖的计数时,红条变得太长
- Fixed JENKINS-14896: java.io.FileNotFoundException when saving module data
修复了 JENKINS-14896:保存模块数据时出现 java.io.FileNotFoundException
- New concept implemented JENKINS-14927: Use the EXEC files instead the XMLs
实施的新概念 JENKINS-14927:使用 EXEC 文件而不是 XML - Fixed JENKINS-14279: Report "missed items" rather that coverage percentage
修复了 JENKINS-14279:报告“丢失的项目”而不是覆盖率 - Fixed JENKINS-14159: 404 when trying to see coverage on java code (implementation of sourcefile highlighting)
修复了 JENKINS-14159:尝试查看 Java 代码的覆盖范围时出现 404(源文件突出显示的实现) - New feature JENKINS-14274: Multi module reporting
新功能 JENKINS-14274:多模块报告
- Fixed JENKINS-14270: The report does not show the covered/all, it shows something different
修复了 JENKINS-14270:报告不显示覆盖/全部,它显示不同的内容
- Fixed testcases to have all the tests passed for a release
修复了测试用例以通过发布的所有测试 - Fixed JENKINS-14203: The total summary is double counted
修复了 JENKINS-14203:总摘要被重复计算
- Fixed 3 testcases to have all the tests passed for a release
修复了 3 个测试用例以使所有测试都通过发布 - Fixed POM: making it releasabl
修复 POM:使其可发布