1

我正在使用 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:\Java\JDK8_51\jre 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 单独运行但在使用 Junit 进行构建时会失败,我仍然在模拟任何可以正常工作的接口时遇到问题cobertura.任何输入好吗?很抱歉没有发布另一个问题,因为无法使用 cobertura 2.7 构建的问题仍然存在,但以另一种形式存在。

4

1 回答 1

1

您可能遇到了一个错误:Instrumented classes 在静态初始化期间抛出 NPE

于 2015-08-06T18:49:33.980 回答