簡體   English   中英

在 AWS Java Lambda 中找不到類異常

[英]Class not found Exception in AWS Java Lambda

這是我們得到的例外

Exception:
java.lang.ClassNotFoundException: com.A.B.C.ZZZZZZZZZZZZZZZZZZ
    at java.base/java.net.URLClassLoader.findClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Unknown Source)

所有源代碼都在根目錄中,lib 在 lib 目錄中

這在從本地機器而不是從 Jenkins 構建時有效

在 jenkins 和本地 mac 上,我們使用 Gradle 進行編譯,Gradle zip 構建了 zip 工件

更具體地說,我在這里關注的是https://docs.aws.amazon.com/lambda/latest/dg/create-deployment-pkg-zip-java.html

apply plugin: 'java'

dependencies {
    compile fileTree(dir: 'jars', include: '*.jar')
}

task buildZip(type: Zip) {
    from compileJava
    from processResources
    into('lib') {
        from configurations.runtimeClasspath
    }
}

似乎這還不夠,我們還需要使用 chmod

根文件夾沒有所有人的讀取權限。 為了解決這個問題,我不得不在 zip 任務之前調用chmod來正確設置權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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