Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我们如何使用Maven为AWS Lambda生成一个zip部署包,其中包含根级别的所有编译类文件和资源文件?_Java_Maven_Aws Lambda_Maven Assembly Plugin - Fatal编程技术网

Java 我们如何使用Maven为AWS Lambda生成一个zip部署包,其中包含根级别的所有编译类文件和资源文件?

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

我正试图用Java为AWS Lambda创建一个部署包。我们一直在使用maven shade插件生成uber jar。然而,我在AWS Lambda的
功能代码
部分中看到,提到

通过将dependency.jar文件放在单独的/lib目录中,减少Lambda解包用Java编写的部署包所需的时间。这比将所有函数代码放在一个包含大量.class文件的jar中要快

所以在我看来,生成一个zip部署包可以减少冷启动时间。通过这样做,我可以看出zip部署的要求是:

根级别的所有编译类文件和资源文件。
在/lib目录中运行代码所需的所有JAR

然而,我不能用Maven生成这样的zip文件。我尝试了配置
maven汇编插件
下面提到的步骤

生成的zip文件基本上包含根级别的my jar,而不是最佳实践中提到的.class文件


我是否错误地理解了这个最佳实践建议,或者有人能告诉我如何使用maven实现这一点吗?

引用的部分并没有说您应该上传
.class
文件。它只是说您应该将依赖项从您自己的jar中分离出来。这就是汇编插件所做的。

编辑了我的问题,提供了一个指向aws文档的链接,我在该文档中看到了这一要求,并通过以下链接找到了答案,希望它能帮助其他人。