Класс не найден Исключение в AWS Java Лямбда - PullRequest
0 голосов
/ 17 января 2020

это исключение, мы получаем

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)

весь источник находится в каталоге root, а библиотека lib в каталоге lib

это работает при сборке с локальной машины, но не из Jenkins

как в jenkins, так и в локальной ма c мы использовали Gradle для компиляции, Gradle zip создает артефакт zip

, чтобы быть более точным c Я следовал тому, что здесь 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

1 Ответ

0 голосов
/ 17 января 2020

Папка root не имела разрешения на чтение для всех. Чтобы решить эту проблему, мне пришлось позвонить chmod, чтобы правильно установить разрешения перед задачей zip.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...