繁体   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