java.lang.ClassNotFoundException:sun.reflect.ConstantPool在运行cucumber功能时

java.lang.ClassNotFoundException:sun.reflect.ConstantPool在运行cucumber功能时,java,eclipse,cucumber,Java,Eclipse,Cucumber,我正在使用eclipse来运行cucumber特性,我遇到了这个错误。我已经安装了Java11.0.4 WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by cucumber.runtime.java8.ConstantPoolTypeIntrospector (file:/Users/test1/.m2/repository/info/cukes/cu

我正在使用eclipse来运行cucumber特性,我遇到了这个错误。我已经安装了Java11.0.4

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by cucumber.runtime.java8.ConstantPoolTypeIntrospector (file:/Users/test1/.m2/repository/info/cukes/cucumber-java8/1.2.5/cucumber-java8-1.2.5.jar) to method java.lang.Class.getConstantPool()
WARNING: Please consider reporting this to the maintainers of cucumber.runtime.java8.ConstantPoolTypeIntrospector
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Exception in thread “main” cucumber.runtime.CucumberException: Failed to instantiate class test.sample.cucumber.steps.TestAPISteps
    at cucumber.runtime.java.DefaultJavaObjectFactory.cacheNewInstance(DefaultJavaObjectFactory.java:47)
    at cucumber.runtime.java.DefaultJavaObjectFactory.getInstance(DefaultJavaObjectFactory.java:33)
    at cucumber.runtime.java.JavaBackend.buildWorld(JavaBackend.java:131)
    at cucumber.runtime.Runtime.buildBackendWorlds(Runtime.java:141)
    at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:38)
    at cucumber.runtime.model.CucumberFeature.run(CucumberFeature.java:165)
    at cucumber.runtime.Runtime.run(Runtime.java:122)
    at cucumber.api.cli.Main.run(Main.java:36)
    at cucumber.api.cli.Main.main(Main.java:18)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at cucumber.runtime.java.DefaultJavaObjectFactory.cacheNewInstance(DefaultJavaObjectFactory.java:41)
    ... 8 more
Caused by: java.lang.NoClassDefFoundError: sun/reflect/ConstantPool
    at cucumber.runtime.java8.ConstantPoolTypeIntrospector.getGenericTypes(ConstantPoolTypeIntrospector.java:29)
    at cucumber.runtime.java.Java8StepDefinition.getParameterInfos(Java8StepDefinition.java:54)
    at cucumber.runtime.java.Java8StepDefinition.<init>(Java8StepDefinition.java:44)
    at cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:162)
    at cucumber.api.java8.En.Given(En.java:199)
    at com.cbre.host.foodandbeverages.cucumber.steps.ProductStoreApiSteps.<init>(ProductStoreApiSteps.java:40)
    ... 13 more
Caused by: java.lang.ClassNotFoundException: sun.reflect.ConstantPool
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 19 more

您的其他计算机必须在java8上运行。您的错误跟踪建议使用java8

WARNING: Please consider reporting this to the maintainers of cucumber.runtime.java8.ConstantPoolTypeIntrospector

您当前正在使用jvm1.2.5。此版本的Cucumber无法在Java 9或更高版本上运行。您可能需要考虑升级。


Cucumber JVM的最新发布版本是4.8.0。请注意,
groupId
已从
info.cukes
更改为
io.cucumber

我检查了另一台机器上是否安装了java 11.0.4。eclipse外部和内部也安装了java 11.0.4java版本“11.0.4”2019-07-16 LTS java(TM)SE运行时环境18.9(build 11.0.4+10-LTS)JavaHotSpot(TM)64位服务器VM18.9(构建11.0.4+10-LTS,混合模式)尝试在java8上运行此代码。它在jdk8上工作吗?没有。。不在java8上工作。。给出同样有意义的错误。但是,同样的设置如何在其他机器上工作呢。我已经安装了Java11.0.4,并且使用了cucumber(info.cukes)的相同依赖项。奇怪的是,它在那里工作得非常好。逻辑上的结论是,尽管有相反的证据,但你没有相同的设置。
WARNING: Please consider reporting this to the maintainers of cucumber.runtime.java8.ConstantPoolTypeIntrospector