2016-08-08 3 views
0

У меня есть эта проблема в течение 3 дней и я не знаю, как ее решить ... Вот он: Я принимаю приемочные испытания с использованием огурца и Maven.CucumberException не удалось создать класс

Все мои тесты хорошо работают, и я создал библиотеку jar, которую я импортирую как зависимость в файле pom.xml моего проекта, который я хочу протестировать.

Все работало хорошо, пока я просто не изменил имя GroupID моей баночки я импортируемый ...

Однако, я сделал команду «MVN установки» для моего проекта, который я хочу, чтобы импортировать в библиотеке банки перед повторным запуском моего проекта для проверки (и, очевидно, я изменил зависимость в моем файле pom.xml).

Ошибки я получаю сейчас:

cucumber.runtime.CucumberException: Failed to instantiate class cucumber.steps.myClass 
     at cucumber.runtime.java.DefaultJavaObjectFactory.cacheNewInstance(DefaultJavaObjectFactory.java:46) 
     at cucumber.runtime.java.DefaultJavaObjectFactory.getInstance(DefaultJavaObjectFactory.java:32) 
     at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) 
     at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) 
     at cucumber.runtime.Runtime.runStep(Runtime.java:299) 
     at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) 
     at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) 
     at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) 
     at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) 
     at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) 
     at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) 
     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
     at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
     at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) 
     at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) 
     at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) 
     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
     at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
     at cucumber.api.junit.Cucumber.run(Cucumber.java:98) 
     at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367) 
     at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274) 
     at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238) 
     at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161) 
     at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290) 
     at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242) 
     at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121) 
     Caused by: java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
     at cucumber.runtime.java.DefaultJavaObjectFactory.cacheNewInstance(DefaultJavaObjectFactory.java:40) 
     ... 33 more 
     Caused by: java.lang.NoClassDefFoundError: org/jdom/Element 
     at myPackageImportFromJar.anotherClass.<clinit> 
     at cucumber.steps.myClass.<init> 
     ... 38 more 
     Caused by: java.lang.ClassNotFoundException: org.jdom.Element 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
     ... 40 more 

Просто информация (может быть моя ошибка приходит от этого): Я использую .jar файл для чтения свойства в проекте я хочу проверить.

Если у вас есть идеи, я был бы рад услышать это ... Спасибо!

+0

Посмотрите на этот вопрос: http://stackoverflow.com/a/28387412/1119381. Это может быть проблема с версиями зависимостей. –

+0

Благодарим вас за ответ. К сожалению, я уже видел этот вопрос, и в моем случае я не использую ничего, кроме зависимостей cucumber-java (1.2.4), cucumber-junit (1.2.4) и junit (4.12) ... –

ответ

0

Узнал, где проблема возникает из:

Я использовал org.jdom зависимость и JDOM никогда не признают и никогда не может быть экземпляр (немного странно, но я не могу это объяснить ...). Решение, которое я использовал, изменяет зависимость jdom с зависимостью jdom2. С этой зависимостью все работает хорошо (на данный момент).