如何在本地运行为lambda创建的压缩java文件?
当通过链接https://docs.aws.amazon.com/lambda/latest/dg/java-package.html创建zip时
我们可以将zip文件上传到lambda中,以便在其上运行应用程序。
如果我需要在本地测试函数,我该如何运行zip?通过解压缩相同的压缩文件,我可以看到java类编译成 *.class文件。
当我运行java MainClass
时,它抛出了
错误:无法初始化主类MainClass原因:java.lang.NoClassDefFoundError:org/redisson/client/codec/Codec
我在这里使用redisson作为依赖项。
注意:我可以创建fatJar或其他方法来本地测试函数,但我需要重用lambda如何运行此zip。
我不想在本地运行lambda函数。
我想运行实际的代码,使用从gradle zip任务创建的相同zip。
问题可以表述为“我如何从zip运行java应用程序。zip是从gradle任务创建的”
我正在使用gradle来构建和制作zip文件
2条答案
按热度按时间hsvhsicv1#
使用https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Zip.html压缩java应用程序后。
我们所需要的就是解压压缩文件,并将jar的位置作为类路径传递。
smtd7mpg2#
在本地调试/测试AWS lambdas的唯一方法是在调试模式下使用AWS SAM
您不能只运行jar文件。请查看awssam文档。https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-using-debugging.html