AWS Sam构建java层并包含在类路径上



我已经使用aws sam构建了一个lambda层,并将其包含在我的lambda函数中。它部署并显示在控制台中(我在整个应用程序中只有几行代码,但如果您愿意,我可以链接它)。

作为加载在类路径上的层的快速测试,我在lambda中将该层作为compileOnly依赖项包括在内,因此我可以在编译时引用它。然后,在lambda的第一行,我从层调用类的方法,它继续给我noclassdeffoundererrors,这表明它不在类路径上。

我对lambda层的理解是正确的吗?我还需要做什么来获得包含在类路径和可访问的层吗?我是否还能够使用该层提供仅运行时依赖关系?

另外,我注意到,当我从层下载jar时,所有文件都在层的根目录中,而不是像一些sam文档建议的那样包含在/java目录中。我应该看看这个吗?

每种语言支持不同的路径。对于Java,它是Java/lib。在Lambda开发人员指南中有描述。

https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

最新更新