【问题标题】:Download Maven dependencies during app start-up instead of build packaging?在应用程序启动期间下载 Maven 依赖项而不是构建打包?
【发布时间】: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


【解决方案1】:

我建议你去看看这个问题here 它可以让你分析那些未使用的依赖项,你应该能够通过这种方式修剪文件包的大小。简而言之,答案将您指向Maven Analysis tool

【讨论】:

    猜你喜欢
    • 2023-04-08
    • 2023-03-05
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 2021-06-04
    相关资源
    最近更新 更多