You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否有仅适用于S3的精简版AWS Java SDK JAR包?

嘿,这个场景我太熟悉了——80MB的全量AWS SDK确实没必要,尤其是你只用到S3功能的时候。这里有几个靠谱的解决办法:

针对S3的轻量化AWS SDK方案
  • 优先选用AWS SDK for Java 2.x的单独S3模块
    AWS SDK v2是完全模块化设计的,你可以只引入S3相关的依赖,不用下载整个臃肿的SDK。比如用Maven的话,只需要添加这一段依赖:

    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>s3</artifactId>
        <version>请替换为最新稳定版本号</version>
    </dependency>
    

    这个单独模块的大小只有几MB,完全满足你的需求,而且v2的性能、API设计都比v1更优秀。

  • 如果坚持用v1,只引入S3子模块
    要是你还在使用AWS SDK for Java 1.x,也不用下载全量包。通过Maven/Gradle这类构建工具,只引入S3的专属依赖就行:
    Maven依赖示例:

    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-s3</artifactId>
        <version>请替换为最新稳定版本号</version>
    </dependency>
    

    这样下载的JAR只会包含S3相关的类和必要的核心依赖,体积会大幅缩小。

  • 手动精简已有的全量JAR(不推荐,但可行)
    如果你已经下载了80MB的全量JAR,想要手动精简的话,可以用ProGuard或者ShadowJar这类工具:

    • ProGuard:配置规则只保留com.amazonaws.services.s3相关的类以及它依赖的核心包,剔除其他服务模块、示例代码、文档等冗余内容。
    • ShadowJar:在构建时指定只打包S3相关的包路径,生成一个精简后的独立JAR。
      不过这种方法容易遗漏必要的依赖类,排查问题比较麻烦,还是优先推荐前两种方案。

内容的提问来源于stack exchange,提问作者user3523268

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 06:53:24