Junit gives error java.lang.NoClassDefFoundError: junit / framework / JUnit4TestAdapterCache

I am trying to run a simple unit test in my project https://github.com/cdwijayarathna/oj4j .

I added junit-4.12.jar and ant -junit4.jar to the lib folder.

But when I ran rake run_tests, I get the following error in the report location that I gave.

java.lang.NoClassDefFoundError: junit/framework/JUnit4TestAdapterCache
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:195)
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

What is the reason for this? how can i solve this?

+4
source share
3 answers

, junit ant Debian. junit4.jar $CLASSPATH, . , jvm junit4.jar. /usr/share/java/junit4.jar junit Debian, .

    $ export CLASSPATH=/usr/share/java/junit4.jar
    $ ant test
+4

ANT_HOME $CLASSPATH.

0

I use specific banks to run tests in the project, here is the command line that solves this problem:

$ CLASSPATH=lib/hamcrest-core-1.3.jar:lib/junit-4.12.jar ant my-junit-target

I wrote a little shell to encapsulate this command.

0
source

Source: https://habr.com/ru/post/1584738/


All Articles