aws 2.0 > step function > java.lang.NoClassDefFoundError: software/amazon/awssdk/core/runtime/transform/Unmarshaller
aws 2.0 > step function > java.lang.NoClassDefFoundError: software/amazon/awssdk/core/runtime/transform/Unmarshaller
出现以下错误,
java.lang.NoClassDefFoundError: software/amazon/awssdk/core/runtime/transform/Unmarshaller
当执行下面的代码时,
@Test
public void testStateFunction() {
SfnClient sfnClient = SfnClient.create();
System.out.println(sfnClient);
}
在 build.gradle
中定义了以下依赖项
dependencies {
implementation platform('software.amazon.awssdk:bom:2.17.29')
// implementation group: 'software.amazon.awssdk', name: 'core', version: '2.17.29', ext: 'pom'
implementation 'software.amazon.awssdk:core:2.17.29'
// implementation 'software.amazon.awssdk:aws-core:2.17.29'
// implementation 'software.amazon.awssdk:sdk-core:2.17.29'
implementation 'software.amazon.awssdk:s3'
implementation 'software.amazon.awssdk:stepfunctions:2.0.0-preview-11'
implementation 'com.amazonaws:aws-lambda-java-core:1.2.1'
implementation 'com.amazonaws:aws-lambda-java-events:3.10.0'
runtimeOnly 'com.amazonaws:aws-lambda-java-log4j2:1.2.0'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
implementation 'com.google.code.gson:gson:2.8.8'
implementation 'commons-io:commons-io:2.6'
implementation 'org.apache.logging.log4j:log4j-api:2.13.0'
implementation 'org.apache.logging.log4j:log4j-core:2.13.0'
runtimeOnly 'org.apache.logging.log4j:log4j-slf4j18-impl:2.13.0'
compileOnly 'org.projectlombok:lombok:1.18.8'
annotationProcessor 'org.projectlombok:lombok:1.18.8'
}
试了很多网上搜索,还不能解决。
从 InteliJ 左侧菜单 Gradle 库中,当我尝试展开时
sdk-core,无法在任何罐子中找到 class software/amazon/awssdk/core/runtime/transform/Unmarshaller。
您似乎正在尝试使用适用于 Java V2 的 AWS 开发工具包来使用 AWS Step Functions。要使此用法正常运行,您可以遵循此 AWS 端到端示例,该示例将引导您完成此用例,并且您将使用 AWS Step Functions 创建以下工作流程。
遵循此文档:
Create AWS serverless workflows by using the AWS SDK for Java
它使用 Maven - 但会向您显示所需的依赖项(一旦您使用 Maven 使其工作,然后将依赖项移植到 gradle)。
进一步调查发现
正确的最新依赖项是
implementation 'software.amazon.awssdk:sfn:2.17.29'
我最初尝试的下面的似乎已经过时,因此它不适用于不存在的 AWS 2.0 核心 jar /Unmarshaller。
参考:https://github.com/aws/aws-sdk-java-v2/issues/2094
谢谢
implementation 'software.amazon.awssdk:stepfunctions:2.0.0-preview-11'
出现以下错误,
java.lang.NoClassDefFoundError: software/amazon/awssdk/core/runtime/transform/Unmarshaller
当执行下面的代码时,
@Test
public void testStateFunction() {
SfnClient sfnClient = SfnClient.create();
System.out.println(sfnClient);
}
在 build.gradle
中定义了以下依赖项dependencies {
implementation platform('software.amazon.awssdk:bom:2.17.29')
// implementation group: 'software.amazon.awssdk', name: 'core', version: '2.17.29', ext: 'pom'
implementation 'software.amazon.awssdk:core:2.17.29'
// implementation 'software.amazon.awssdk:aws-core:2.17.29'
// implementation 'software.amazon.awssdk:sdk-core:2.17.29'
implementation 'software.amazon.awssdk:s3'
implementation 'software.amazon.awssdk:stepfunctions:2.0.0-preview-11'
implementation 'com.amazonaws:aws-lambda-java-core:1.2.1'
implementation 'com.amazonaws:aws-lambda-java-events:3.10.0'
runtimeOnly 'com.amazonaws:aws-lambda-java-log4j2:1.2.0'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
implementation 'com.google.code.gson:gson:2.8.8'
implementation 'commons-io:commons-io:2.6'
implementation 'org.apache.logging.log4j:log4j-api:2.13.0'
implementation 'org.apache.logging.log4j:log4j-core:2.13.0'
runtimeOnly 'org.apache.logging.log4j:log4j-slf4j18-impl:2.13.0'
compileOnly 'org.projectlombok:lombok:1.18.8'
annotationProcessor 'org.projectlombok:lombok:1.18.8'
}
试了很多网上搜索,还不能解决。
从 InteliJ 左侧菜单 Gradle 库中,当我尝试展开时 sdk-core,无法在任何罐子中找到 class software/amazon/awssdk/core/runtime/transform/Unmarshaller。
您似乎正在尝试使用适用于 Java V2 的 AWS 开发工具包来使用 AWS Step Functions。要使此用法正常运行,您可以遵循此 AWS 端到端示例,该示例将引导您完成此用例,并且您将使用 AWS Step Functions 创建以下工作流程。
遵循此文档:
Create AWS serverless workflows by using the AWS SDK for Java
它使用 Maven - 但会向您显示所需的依赖项(一旦您使用 Maven 使其工作,然后将依赖项移植到 gradle)。
进一步调查发现
正确的最新依赖项是
implementation 'software.amazon.awssdk:sfn:2.17.29'
我最初尝试的下面的似乎已经过时,因此它不适用于不存在的 AWS 2.0 核心 jar /Unmarshaller。
参考:https://github.com/aws/aws-sdk-java-v2/issues/2094 谢谢
implementation 'software.amazon.awssdk:stepfunctions:2.0.0-preview-11'