【发布时间】:2016-05-03 02:08:05
【问题描述】:
我想将 Java 程序部署到 AWS Lambda。
很遗憾,我打包的所有依赖项都超过了限制 (50 MB)。
我的构建和依赖项由 Maven 管理。
有没有办法配置 Maven 构建,以便延迟打包依赖项,并在运行时 JVM 中的应用程序启动时自动下载依赖项?
【问题讨论】:
-
你的问题毫无意义。当您拥有最终的 JAR 时,Maven 将不再存在。 JAR 可以通过任何构建工具构建,甚至可以手动构建。您应该减少您拥有的库的数量,这是唯一的解决方案。
-
从未使用过 AWS Lambda,但它们可能有一些保护措施,可以防止从 Internet 下载随机可运行的东西。更简单的解决方案可能是在您的应用程序上运行 proguard (proguard.sourceforge.net),删除不需要的类和方法(不要启用混淆,只需将其配置为生成最小的 jar)并上传生成的、剥离的 jar,并嵌入所有依赖项。
-
Maven 是一个 build 自动化工具,也许你应该检查你的依赖关系,看看服务器中是否已经有东西或者是否有重复的东西跨度>
标签: java maven amazon-web-services maven-assembly-plugin aws-lambda