我正在尝试遵循AWS Lambda建议here,他们说:
通过将依赖项.jar文件放在单独的/ lib目录中,减少Lambda解压缩用Java编写的部署程序包所需的时间。这比将所有函数的代码放入包含大量.class文件的单个jar中要快。
我可能是错的,但是据我了解,AWS建议这样的zip
存档结构:
my-code.jar
lib/my-dependency.jar
如果这是它们的意思,我将无法实现,我试图将Maven程序集插件配置为:
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>distribution</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${project.basedir}\src\main\java</directory>
<outputDirectory>\</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
我得到的是:
lib/my-code.jar
lib/my-dependency.jar
因此,这引出了两个问题:
1-我是否正确理解了AWS建议?我对Maven和整个Java构建过程还是陌生的。
2-如果我对它的理解正确,那我该如何实现呢?