Java 我们如何使用Maven为AWS Lambda生成一个zip部署包,其中包含根级别的所有编译类文件和资源文件?
我正试图用Java为AWS Lambda创建一个部署包。我们一直在使用maven shade插件生成uber jar。然而,我在AWS Lambda的Java 我们如何使用Maven为AWS Lambda生成一个zip部署包,其中包含根级别的所有编译类文件和资源文件?,java,maven,aws-lambda,maven-assembly-plugin,Java,Maven,Aws Lambda,Maven Assembly Plugin,我正试图用Java为AWS Lambda创建一个部署包。我们一直在使用maven shade插件生成uber jar。然而,我在AWS Lambda的功能代码部分中看到,提到 通过将dependency.jar文件放在单独的/lib目录中,减少Lambda解包用Java编写的部署包所需的时间。这比将所有函数代码放在一个包含大量.class文件的jar中要快 所以在我看来,生成一个zip部署包可以减少冷启动时间。通过这样做,我可以看出zip部署的要求是: 根级别的所有编译类文件和资源文件。 在/l
功能代码
部分中看到,提到
通过将dependency.jar文件放在单独的/lib目录中,减少Lambda解包用Java编写的部署包所需的时间。这比将所有函数代码放在一个包含大量.class文件的jar中要快
所以在我看来,生成一个zip部署包可以减少冷启动时间。通过这样做,我可以看出zip部署的要求是:
根级别的所有编译类文件和资源文件。在/lib目录中运行代码所需的所有JAR 然而,我不能用Maven生成这样的zip文件。我尝试了配置
maven汇编插件
下面提到的步骤
生成的zip文件基本上包含根级别的my jar,而不是最佳实践中提到的.class文件
我是否错误地理解了这个最佳实践建议,或者有人能告诉我如何使用maven实现这一点吗?引用的部分并没有说您应该上传
.class
文件。它只是说您应该将依赖项从您自己的jar中分离出来。这就是汇编插件所做的。编辑了我的问题,提供了一个指向aws文档的链接,我在该文档中看到了这一要求,并通过以下链接找到了答案,希望它能帮助其他人。