使用 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 個月前