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

如何在Eclipse中生成可上传至AWS Lambda的Java项目zip部署包

报错原因

你遇到的java.lang.NoClassDefFoundError是因为直接用Eclipse自带的导出zip功能生成的包仅包含项目源码和工程配置,没有把项目依赖的AWS SDK、Lambda运行库等第三方类打进去,Lambda运行环境找不到对应类就会抛出该错误。AWS Toolkit上传时会自动帮你完成依赖合并的步骤,所以可以正常运行。

正确打包操作步骤

你的项目已经是Maven项目,且pom.xml中已经配置了专门用来合并所有依赖的maven-shade-plugin,直接通过Maven打包即可:

  • 在Eclipse左侧项目列表中右键点击你的项目,选择「Run As」→「Maven build...」
  • 在弹出的配置窗口的「Goals」输入栏填入package,点击「Run」执行打包
  • 打包完成后,打开项目根目录下的target文件夹,找到名称为demo-1.0.0-shaded.jar的文件(如果没有带shaded后缀的文件,直接用demo-1.0.0.jar即可)
  • 直接在AWS Lambda控制台上传这个jar包即可,Lambda支持直接上传jar格式的部署包,不需要额外打包成zip。如果一定要用zip格式,把这个jar文件单独放在zip根目录上传即可。
额外注意事项

你当前的pom.xml还缺少S3服务的SDK依赖,你代码中用到了AmazonS3客户端,但仅引入了aws-java-sdk-bom(仅用来统一管理SDK版本,不会自动引入具体服务的SDK),需要在pom.xml的dependencies节点下新增以下配置,再重新打包:

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-s3</artifactId>
</dependency>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:45:01