如何解决AWS Lambda Java错误:ClassNotFoundException
尝试测试/调用我的AWS Lambda时出现此错误:
{
"errorMessage": "Class not found: com.schema.migration.handler.PgSchemaMigrationHandler","errorType": "java.lang.ClassNotFoundException"
}
我使用处理程序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中具有AWS依赖项,并且也具有构建zip的能力:
distributions {
main {
contents {
from 'src/main/java'
from 'src/main/resources'
exclude("**/bifrost-schema-schema-migration-1.0.null.jar")
}
}
distZip{
dependsOn compileJava
}
关于为什么AWS找不到我的课程的任何想法?
解决方法
到目前为止,我了解到AWS并不是非常友好的Java。但这有效,我之前在向程序包添加依赖项jar时遇到了问题。我建立了一个带有所有依赖项的uber jar。
您可以使用gradle-https://github.com/awsdocs/aws-lambda-developer-guide/blob/master/sample-apps/blank-java/build.gradle
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。