簡體   English   中英

AWS Lambda Java 錯誤: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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM