aws-cloudformation / aws-cloudformation/cloudformation-cli-java-plugin

Error testing Resource Provider - java.lang.ClassNotFoundException: software.amazon.cloudformation.<projectName>.HandlerWrapper

未關閉
#238 1 則留言 0 個 reaction 已指派 1 人 已被 @chuchocd85 認領 在 GitHub 檢視
investigating
主要語言
Java
星號
30
分支
48
PR 合併指標
30 天內沒有已合併 PR

描述

I'm following this tutorial here [1], and creating a Resource Provider using the cfn CLI.

When I run "sam local invoke TestEntrypoint --event sam-tests/create.json" I get error below.

```
Invoking software.amazon.cloudformation.command.HandlerWrapper::testEntrypoint (java8)

Fetching lambci/lambda:java8 Docker container image......
Mounting /Users/shantgup/Documents/CloudFormation-Command-Project/target/aws-cloudformation-command-handler-1.0-SNAPSHOT.jar as /var/task:ro,delegated inside runtime container
START RequestId: 4d2dbf5e-b8c6-159e-9687-8b59ce7d918a Version: $LATEST
java.lang.ClassNotFoundException: software.amazon.cloudformation.command.HandlerWrapper
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)

Exception in thread "main" java.lang.Error: java.lang.RuntimeException: java.lang.RuntimeException: Unexpected status code from invocation/response: 299
at lambdainternal.AWSLambda.(AWSLambda.java:65)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at lambdainternal.LambdaRTEntry.main(LambdaRTEntry.java:119)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Unexpected status code from invocation/response: 299
at lambdainternal.LambdaRuntime.reportDone(LambdaRuntime.java:227)
at lambdainternal.AWSLambda.startRuntime(AWSLambda.java:366)
at lambdainternal.AWSLambda.(AWSLambda.java:63)
... 3 more
Caused by: java.lang.RuntimeException: Unexpected status code from invocation/response: 299
at lambdainternal.LambdaRuntime.reportDone(LambdaRuntime.java:224)
... 5 more

````
Now the file does not exist in my "src/main/java/software/amazon/cloudformation//"

But I see 3 of them in /target/classes/software/amazon/cloudformation/. There's HandlerWrapper.class, HandlerWrapper$1.class, HandlerWrapper$2.class, HandlerWrapper$3.class.

Also, my build steps have been as follows:

```
1. cfn generate
2. Build project in IntelliJ Idea
3. sam local invoke TestEntrypoint --event sam-tests/create.json

```

Any help to troubleshoot / fix this would be greatly appreciated.

[1] - https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-walkthrough.html

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。