我编写了一个简单的Java程序,它将采用JSON格式的Person对象并返回字符串消息。依赖关系由Maven维护,下面是pom.xml中包含的所有依赖关系aws-lambda-java-coremaven-shade-pluginmaven-shade-plugin除了依赖项之外,我还包括了作为插件的插件,并以目标运行了Maven构建package shade:shade。成功构建之后,我将该app-1.0-SNAPSHOT-shaded.jar文件部署到了我创建的lambda函数中,当我测试该函数时,我的响应低于要求,并且无法解决问题。{ "errorMessage": "Class not found: com.techm.nimbus.Handler", "errorType": "java.lang.ClassNotFoundException"}下面是实现RequestHandler接口的类package com.techm.nimbus;import com.amazonaws.services.lambda.runtime.Context;import com.amazonaws.services.lambda.runtime.RequestHandler;public class Handler implements RequestHandler<Person, String>{ public String handleRequest(Person input, Context context) { return "Got the message"; }}并且lambda函数的处理程序的值为 com.techm.nimbus.Handler::handleRequest
2 回答
烙印99
TA贡献1829条经验 获得超13个赞
根据我不那么丰富的经验,您可以检查一些事情:
检查上传的包裹的大小。当我没有正确构建Maven项目时,就出现了该错误。当我意识到我检查了S3中的文件时,该文件小于1MB,而对于我而言,通常约为70MB。因此它没有正确构建。
我个人使用eclipse:eclipse作为目标,也许您可以尝试一下,看看它是否有效。
检查lambda是否指向打包代码的正确版本,以及是否应配置任何VPC。
希望对您有所帮助。
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
验证应用程序是否正确构建。您也可以使用“ install shade:shade”命令来构建项目。确保aws控制台中的配置指向Lambda代码的确切类和方法。
添加回答
举报
0/150
提交
取消