[英]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.