【发布时间】:2020-02-18 10:45:24
【问题描述】:
我有一个基本的 AWS Lambda Java 函数 my-function
public class Hello implements RequestHandler<Request, Response> {
public Response handleRequest(Request request, Context context) {
String greetingString = String.format("Hello %s", request.name);
return new Response(greetingString);
}
}
该 Lambda 函数已在 AWS 中注册,控制器为 com.tds.Hello 并正确关联到 AWS API Gateway。
最终的 JAR 是通过 Maven 构建的,没有问题。当我直接在 AWS 中上传 JAR 时,该功能运行良好。
问题是当我在提交代码后使用Bitbucket Pipelines 进行自动上传(和更新)时,管道运行良好,This tutorial (Automating AWS Lambda deployments) 之后的 success 状态但是当我测试/在 AWS 中运行该函数我收到以下错误:
{"errorMessage":"找不到类:com.tds.Hello","errorType":"java.lang.ClassNotFoundException"}
有人遇到过这个问题吗?
【问题讨论】:
-
如何在 Bitbucket Pipelines 中使用 Maven 构建 JAR 文件?听起来这个过程是错误的,或者您在 Bitbucket Pipelines 中引用了错误的工件文件..
-
我在本地构建了 JAR,然后将其推送到 bitbucket,因此管道日志正确显示了创建和上传 zip 时的结果,让我尝试在管道中构建 JAR。
标签: java amazon-web-services aws-lambda bitbucket-pipelines