java - 由 : java. lang.NoClassDefFoundError : Could not initialize class com. jayway.restassured.RestAssured 引起

标签 java spring rest-assured spring-cloud-contract

我正在尝试设置最新版本的 spring cloud contract。但是总是抛异常,无法初始化。我的毕业典礼看起来像这样。我可以在外部库中看到,2.9.0 是可见的。

dependencies {
    classpath "org.springframework.boot:spring-boot-gradle-plugin:2.0.0.M7"
    classpath "org.springframework.cloud:spring-cloud-contract-gradle-plugin:1.2.2.RELEASE"
    classpath "com.jayway.restassured:rest-assured:2.9.0"
    classpath "com.jayway.restassured:spring-mock-mvc:2.9.0"
}

dependencyManagement {
imports {
    mavenBom "org.springframework.cloud:spring-cloud-dependencies:Edgware.RELEASE"
 }
}
testCompile ("com.jayway.restassured:rest-assured:2.9.0")
        {
            force = true
        }
testCompile ("com.jayway.restassured:spring-mock-mvc:2.9.0")
        {
            force = true
        }

异常(exception)情况:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':generateContractTests'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.jayway.restassured.RestAssured
at org.springframework.cloud.contract.verifier.builder.ClassPresenceChecker.isClassPresent(JavaTestGenerator.groovy:191)
at org.springframework.cloud.contract.verifier.builder.ClassPresenceChecker$isClassPresent.call(Unknown Source)
at org.springframework.cloud.contract.verifier.builder.JavaTestGenerator.buildClass(JavaTestGenerator.groovy:72)
at org.springframework.cloud.contract.verifier.builder.SingleTestGenerator$buildClass.call(Unknown Source)
at org.springframework.cloud.contract.verifier.TestGenerator.processIncludedDirectory(TestGenerator.groovy:118)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.springframework.cloud.contract.verifier.TestGenerator$_generateTestClasses_closure1.doCall(TestGenerator.groovy:100)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.springframework.cloud.contract.verifier.TestGenerator.generateTestClasses(TestGenerator.groovy:99)
at org.springframework.cloud.contract.verifier.TestGenerator.generate(TestGenerator.groovy:81)
at org.springframework.cloud.contract.verifier.TestGenerator$generate.call(Unknown Source)
at org.springframework.cloud.contract.verifier.plugin.GenerateServerTestsTask.generate(GenerateServerTestsTask.groovy:65)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.doExecute(DefaultTaskClassInfoStore.java:142)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:135)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:122)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:762)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:729)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
... 28 more

请帮我解决这个问题。

最佳答案

Spring Cloud Contract 1.2.x 与 Boot 2.0.0 不兼容。请使用 Spring Cloud Contract 2.0.x。您正在使用与 Spring Boot 2.0 不兼容的 Edgware BOM。请使用 Finchley BOM。

关于java - 由 : java. lang.NoClassDefFoundError : Could not initialize class com. jayway.restassured.RestAssured 引起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48393701/

相关文章:

java - Json放心

testing - 不允许PUT-带有Swagger的REST保证

java - Tomcat登录后重定向到错误的url

java - .subString 方法无法正常工作,Java

spring - ehCache 有自动刷新的选项吗?

spring - 是 getHibernateTemplate().flush() 释放数据库连接

java - LDAP:错误代码 49 - 简单绑定(bind)失败:NT_STATUS_LOGON_FAILURE

java - 在java中运行时更改json属性的值为1

java - 创建 ScriptC 时 RenderScript 崩溃

java - 使用 MD5 时出现 NoSuchAlgorithm 异常