Jenkins Gradle测试在Commons配置上失败

2019年4月25日 119点热度 0条评论

我有一个使用Apache Commons Configuration的项目。该项目是使用gradle构建的。我在这个项目上写了一些单元测试用例,并且在本地运行时gradle测试可以正常工作。

但是,在Jenkins中运行单元测试时,它会失败。
Please see the screenshot of the error。错误似乎与我使用的Commons Configuration有关。请帮忙。

org.apache.commons.configuration.ConfigurationRuntimeException: No ConfigurationProvider registered for tag disabledAdministrativeMonitors
org.apache.commons.configuration.ConfigurationException: org.apache.commons.configuration.ConfigurationRuntimeException: org.apache.commons.configuration.ConfigurationRuntimeException: No ConfigurationProvider registered for tag disabledAdministrativeMonitors
at org.apache.commons.configuration.DefaultConfigurationBuilder.createConfigurationAt(DefaultConfigurationBuilder.java:752) ~[commons-configuration-1.6.jar:1.6]
at org.apache.commons.configuration.DefaultConfigurationBuilder.initCombinedConfiguration(DefaultConfigurationBuilder.java:628) ~[commons-configuration-1.6.jar:1.6]
at org.apache.commons.configuration.DefaultConfigurationBuilder.getConfiguration(DefaultConfigurationBuilder.java:560) ~[commons-configuration-1.6.jar:1.6]

解决方案如下:

ConfigurationProvider尝试加载默认为config.xml的配置xml文件。
就我而言,该项目是使用Jenkins构建的。 Jenkins在Jenkins主目录中提供了config.xml。首先加载此文件,而不是我想要的文件。也许这也适用于您?

示例 Jenkins config.xml

<?xml version=’1.1' encoding=’UTF-8'?>
<hudson>
<disabledAdministrativeMonitors>
...
</disabledAdministrativeMonitors>
...