4

私はMavenにかなり慣れていません。実行すると、実行mvn clean install中にすべてのテストクラスで次のエラーが発生します。SOに関するいくつかの投稿を調べ、Googleを検索した後、すべてがJUnitバージョンの問題に言及しました。すべてのpomファイルをクロスチェックしたところ、junitバージョン4.8.2があります。しかし、それでも私はこのエラーを受け取り続けます。

<testcase time="0.002" classname="com.service.ServiceImpl" name="initializationError0">
<error message="NULL" type="java.lang.NoSuchFieldError">java.lang.NoSuchFieldError: NULL
    at org.junit.runners.ParentRunner.&lt;init&gt;(ParentRunner.java:48)
    at org.junit.runners.BlockJUnit4ClassRunner.&lt;init&gt;(BlockJUnit4ClassRunner.java:58)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.&lt;init&gt;(SpringJUnit4ClassRunner.java:104)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at org.junit.internal.requests.ClassRequest.buildRunner(ClassRequest.java:33)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:28)
    at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:51)
    at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:120)
    at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:103)
    at org.apache.maven.surefire.Surefire.run(Surefire.java:169)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350)
    at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
</error>
</testcase>

実行mvn dependency:treeして、すべてのjunitインスタンスを検索しました。それらのすべては4.8.2を示しました。

4

1 に答える 1

5

これはjmock-junit4の問題でした。以下を入力することで削除されました(jmock-junitをインポートするときのjunitを除く)-

<dependency>
    <groupId>org.jmock</groupId>
    <artifactId>jmock-junit4</artifactId>
    <version>2.5.1</version>
    <exclusions>
        <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit-dep</artifactId>
        </exclusion>
    </exclusions>
</dependency>
于 2012-07-20T17:48:06.473 に答える