使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

如何解决 CloudFormation 中的“java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper”错误?

2 分钟阅读
0

我尝试在 AWS CloudFormation 中调用资源提供程序时,收到以下错误:“java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper”

解决方法

开发或测试资源类型架构文件时,可以调用 cfn testsam local invoke。如果项目中的 /target/ 目录不包含有效的 .jar 文件,则会出现 java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper 错误。

默认情况下,.jar 文件使用 organization-service-resource-handler-1.0-SNAPSHOT.jar 格式,并在项目根目录的 pom.xml 文件中进行配置。示例:

<groupId>com.organization.service.resource</groupId>
<artifactId>organization-service-resource-handler</artifactId>
<name>organization-service-resource-handler</name>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

要构建项目,请先运行 cfn generate,然后再运行 mvn package

cfn generateGenerated files for Organization::Service::Resource
mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] --< software.organization.service.resource:organization-service-resource-handler >--
[INFO] Building organization-service-resource-handler 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  21.690 s
[INFO] Finished at: 2020-07-14T16:02:47-05:00
[INFO] ------------------------------------------------------------------------

如果构建和测试成功,则 mvn 会在 /target/ 目录中创建 .jar 文件。

要跳过未完成的单元测试的测试,请运行 mvn -Dmaven.test.skip=true package 而不是 mvn package

cfn generateGenerated files for Organization::Service::Resource
mvn package -Dmaven.test.skip=true package
[INFO] Scanning for projects...
[INFO]
[INFO] --< software.organization.service.resource:organization-service-resource-handler >--
[INFO] Building organization-service-resource-handler 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  21.690 s
[INFO] Finished at: 2020-07-14T16:02:47-05:00
[INFO] ------------------------------------------------------------------------

**注意:**要对测试进行故障排除,请从项目的根目录中打开 /target/surefire-reports 目录。

对于与资源提供程序相关的其他错误,请参阅以下文章:

相关信息

GitHub 网站上的 CloudFormation CLI

AWS 官方
AWS 官方已更新 2 个月前