9

JUnitのバージョン3.7で単純なJUnitテストケースを実行しようとしています(これを最新バージョンにアップグレードできません)

IntelliJを実行しているときに、JUnitテストケースを実行しようとすると、次の例外が発生します。

Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:108)
Caused by: java.lang.ClassNotFoundException: junit.textui.ResultPrinter
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    ... 3 more

Process finished with exit code 1

クラスパスにIntelliJバージョン10.0.2、JUnit 3.7があり、IntelliJプラグインは3.xと4.xをサポートしていると述べています。

IntelliJが以下を実行しているのを見ることができます(読みやすくするためにブレークを追加しました)

"C:\Program Files\Java\jdk1.6.0_20\bin\java" -Didea.launcher.port=7532 
    "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 10.0\bin" 
    -Dfile.encoding=windows-1252 
    -classpath "C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 10.0\lib\idea_rt.jar;
                C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 10.0\plugins\junit\lib\junit-rt.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\alt-rt.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\charsets.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\deploy.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\javaws.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\jce.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\jsse.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\management-agent.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\plugin.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\resources.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\rt.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\ext\dnsns.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\ext\localedata.jar;
                C:\Program Files\Java\jdk1.6.0_20\jre\lib\ext\sunjce_provider.jar;
                D:\source\APPS\MyApplication\env\lib\activation.jar;
                D:\source\APPS\MyApplication\env\lib\com.ibm.mq.jar;
                D:\source\APPS\MyApplication\env\lib\cryptix-jce-api.jar;
                D:\source\APPS\MyApplication\env\lib\cryptix-jce-provider.jar;
                D:\source\APPS\MyApplication\env\lib\gnu-regexp-1.1.4.jar;
                D:\source\APPS\MyApplication\env\lib\j2ee.jar;
                D:\source\APPS\MyApplication\env\lib\jdom.jar;
                D:\source\APPS\MyApplication\env\lib\jndi.jar;
                D:\source\APPS\MyApplication\env\lib\jnet.jar;
                D:\source\APPS\MyApplication\env\lib\jSNMP.jar;
                D:\source\APPS\MyApplication\env\lib\jsse.jar;
                D:\source\APPS\MyApplication\env\lib\junit.jar;
                D:\source\APPS\MyApplication\env\lib\log4j-1.2.8.jar;
                D:\source\APPS\MyApplication\env\lib\mail.jar;
                D:\source\APPS\MyApplication\env\lib\ojdbc14_10_2.jar;
                D:\source\APPS\MyApplication\env\lib\xalan.jar;
                D:\source\APPS\MyApplication\env\lib\xerces.jar" 
    com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter 
    -ideVersion5 tests.ValidationUtilsTest

使用しているJunitjarファイルを開くと、junit/textuiの下にTestRunnerというクラスしかありません。これにより、IntelliJが間違ったバージョン(つまり、3.7ではない)を使用しようとしていると思います

何を試すことができますか?私はこれをグーグルで検索しましたが、あまり運がありませんでした

4

1 に答える 1

12

IntelliJIDEAはJUnit3.7をサポートしていません。サポートされている最小バージョンは3.8です。クラスパスでJUnitjarを更新すると、すべてが正常になります。

于 2011-03-09T19:29:50.593 に答える