java.lang.NoClassDefFoundError eccezione durante l’esecuzione di cetriolo test con JUnit

Sto cercando di eseguire un cetriolo test con JUnit e mi sto java.lang.NoClassDefFoundError eccezione.

JUnit codice:

package ctest;

import org.junit.runner.RunWith;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(
features = "Feature"
,glue={"stepDefinition"}
)

public class Runner {

}

Eccezione:

java.lang.NoClassDefFoundError: gherkin/formatter/Formatter
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at cucumber.runtime.formatter.PluginFactory$1.<init>(PluginFactory.java:53)
at cucumber.runtime.formatter.PluginFactory.<clinit>(PluginFactory.java:52)
at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:69)
at cucumber.runtime.RuntimeOptionsFactory.create(RuntimeOptionsFactory.java:25)
at cucumber.api.junit.Cucumber.<init>(Cucumber.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:84)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:70)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.ClassNotFoundException: gherkin.formatter.Formatter
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 34 more

Ho aggiunto il seguente Cetriolo file jar Eclipse e aggiunto il cetriolo plugin per eclipse da thi link – http://cucumber.github.com/cucumber-eclipse/update-site.

java.lang.NoClassDefFoundError eccezione durante l'esecuzione di cetriolo test con JUnit

Ho trovato alcune domande simili in SE e provato i suggerimenti menzionati, ma invano. Ho provato il downgrade cattedrale di saint paul a una versione inferiore, come suggerito nel link qui sotto. Ma che non risolve il problema.

Risposte al di sotto di domande hanno suggerito di aggiungere la stessa versione di cetriolo file jar. Ma dal momento che i file jar che sono disponibili in Maven repositry di per sé non hanno la stessa versione, non so come/dove posso scaricare la stessa versione di tutti cetriolo file jar.

Qualsiasi aiuto per risolvere questo problema, è molto apprezzato.

InformationsquelleAutor justcurious | 2016-04-21



2 Replies
  1. 6

    Secondo questo, cetriolo-java-1.2.4 richiede cetriolino-2.12.2, mentre si sta fornendo cetriolino-4.0.0.

    È possibile scaricare la versione 2.12.2 da qui, rimuovere la versione 4.0.0 e vedere se funziona, allora potrebbe essere necessario riavviare Eclipse).

    • Greate, è un lavoro per me. Grazie
  2. -1

    Succede anche a me e risolvere se si cambia il vaso versioni:

    • junit 3.8.1
    • selenio 2.47.1
    • cetriolo java -1.2.2
    • cetriolo junit 1.2.2

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *