我正在使用cobertura-maven-plugin-2.7,当我做maven构建时,我得到了一个错误。
但是当我独立运行Junit测试用例时,它被成功地执行了。
环境:Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T12:37:52-05:00) Java version: 1.8.0_51,
vendor: Oracle Corporation Java home: F:JavaJDK8_51jre Default locale: en_US,
platform encoding: Cp1252 OS name: "windows 7",
version: "6.1",
arch: "amd64",
family: "dos" Junit 4.12
错误跟踪:
java.lang.ExceptionInInitializerError
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Caused by: java.lang.NullPointerException
at CustomClass.<clinit>(CustomClass.java:33)
第33行:(如下所示)-LoggerFactory(类型为org.slf4j.LoggerFactory)为空
private static final Logger LOGGER = LoggerFactory
.getLogger(CustomClass.class);
更新:嗨。感谢我做了一些更改代码,以删除"静态"引用,这是不需要的。但是我在模拟任何接口时仍然有问题,如果我使用Junit单独运行,但是当我使用cobertura进行构建时失败。有什么建议吗?抱歉没有发布另一个问题,因为无法使用cobertura 2.7构建的问题仍然存在,但以另一种形式存在。
您可能遇到了一个bug:仪表类在静态初始化期间抛出NPE。