我在尝试测试/调用我的AWS Lambda时遇到此错误:
{
"errorMessage": "Class not found: com.schema.migration.handler.PgSchemaMigrationHandler",
"errorType": "java.lang.ClassNotFoundException"
}我用handler:com.schema.migration.handler.PgSchemaMigrationHandler创建了这个函数。这是我用来创建函数的zip目录:

我的PgSchemaMigrationHandler.class:
package com.schema.migration.handler;
...
public class PgSchemaMigrationHandler implements RequestHandler<Map<String, Object>, Object> {
//handler code
}我的build.gradle中有亚马逊网络服务的依赖项,也有这个来构建压缩包:
distributions {
main {
contents {
from 'src/main/java'
from 'src/main/resources'
exclude("**/bifrost-schema-schema-migration-1.0.null.jar")
}
}
distZip{
dependsOn compileJava
}你知道为什么AWS找不到我的班级吗?
发布于 2020-08-14 09:20:00
到目前为止,我所了解到的是AWS对Java不是很友好。但是它起作用了,我之前在包中添加依赖jars时遇到了问题。我已经构建了一个包含所有依赖项的超级jar。
下面是如何使用gradle - https://github.com/awsdocs/aws-lambda-developer-guide/blob/master/sample-apps/blank-java/build.gradle完成此操作
https://stackoverflow.com/questions/63400357
复制相似问题