![](/img/trans.png)
[英]Error when update AWS Java Lambda Function using Bitbucket Pipelines - java.lang.ClassNotFoundException
[英]AWS Lambda Java Error: ClassNotFoundException
嘗試測試/調用我的 AWS Lambda 時出現此錯誤:
{
"errorMessage": "Class not found: com.schema.migration.handler.PgSchemaMigrationHandler",
"errorType": "java.lang.ClassNotFoundException"
}
我使用處理程序創建了 function: com.schema.migration.handler.PgSchemaMigrationHandler
。 這是我用來創建 function 的 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 找不到我的 class 的任何想法?
到目前為止,我了解到的是 AWS 對 Java 不太友好。 但它有效,我之前在我的 package 中添加依賴項 jars 時遇到問題。 我已經構建了一個 uber jar 並附加了所有依賴項。
這是使用 gradle - https 的方法://github.com/awsdocs/aws-lambda-developer-guide/blob/master/sample-apps/blank-java/build.gradle
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.