0

我想将一个Java程序部署到AWS Lambda。在应用程序启动过程中下载Maven依赖关系而不是构建包装?

不幸的是我打包的应用程序与所有依赖关系超过了限制(50 MB)。

我的构建和依赖关系由Maven管理。

是否有配置Maven构建的方法,以便延迟依赖关系的打包,并且在运行时JVM的应用程序启动时自动下载依赖关系?

+2

你的问题没有意义。当你拥有最终的JAR时,Maven不再存在。 JAR本来可以通过任何构建工具来构建,甚至可以通过手工构建。你应该减少你拥有的库的数量,这是唯一的解决方案。 – Tunaki

+1

从未使用过AWS Lambda,但它们可能对从互联网下载随机可运行的东西有一定的保护作用。更简单的解决方案可能会在您的应用程序上运行proguard(http://proguard.sourceforge.net/),删除不需要的类和方法(不启用混淆,只是将其配置为生成最小的jar),并上传结果,剥离的jar以及所有依赖项嵌入式。 –

+0

Maven是一个** build **自动化工具,也许你应该检查你的依赖关系,看看有没有已经存在于服务器中的东西,或者是否有重复的事情 – calazans

回答

0

我建议你去看看这个问题here它将允许你分析你的依赖关系为那些未使用的,你应该能够以这种方式裁剪文件包的大小。总之,答案指向Maven Analysis tool

相关问题