我正试图用Java为AWS Lambda创建一个部署包。我们一直在使用maven-阴影插件来生成一个uber jar。但是,我看到在AWS的最佳做法在Function Code
部分中,有人提到
通过将依赖.jar文件放在单独的/lib目录中,减少Lambda解压缩用Java编写的部署包所需的时间。这比将所有函数的代码放在一个包含大量.class文件的jar中要快。
因此,在我看来,生成一个zip部署包可以减少冷启动时间。通过遵循这个链接,我可以看出对zip部署的要求是:
根级的所有已编译的类文件和资源文件。 所有这些都需要jars来运行/lib目录中的代码。
但是,我无法用Maven生成这样的zip文件。我尝试配置maven-assembly-plugin
,以下步骤提到了这里
生成的zip文件基本上包含根级的jar,而不是最佳实践中提到的.class文件。
我是不正确地理解了这个最佳实践建议,还是有人能告诉我如何用maven实现这一点?
发布于 2019-04-10 03:01:56
引用的部分并没有说你应该上传.class
文件。它只是说您应该将依赖项从自己的jar中分离出来。这就是组装插件所做的。
https://stackoverflow.com/questions/55610677
复制