Ошибка: org. apache .commons.logging.LogFactory java .lang.NoClassDefFoundError для сборки приложения с помощью micronaut-bom1.2.10, graal19.2.1 & aws -sdk2.10.56 - PullRequest
0 голосов
/ 06 февраля 2020

Создано приложение с использованием версии micronaut bom 1.2.10, а также зависимостей software.amazon.awssdk: lambda: 2.10.56 и software.amazon.awssdk: s3: 2.10.56, которые имели функции для извлечения данных из хранилища s3 и использовал graal 19.2.1 для создания нативного изображения. Собственный образ успешно создан, но когда я пытаюсь получить доступ к конечной точке, он терпит неудачу для следующих исключений:

failed: org.apache.commons.logging.LogFactoryjava.lang.NoClassDefFoundError: org.apache.commons.logging.LogFactory

и серии исключений, особенно при создании клиента S3. В исключении также произошел сбой в точке ниже:

failed: Could not initialize class software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactoryjava.lang.NoClassDefFoundError: Could not initialize class software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory

Код для S3Client:

S3Client s3Client = S3Client.builder().region(getRegion()).build();

build-native-image. sh

${GRAALVM_HOME}/bin/native-image --no-server -cp example-function-*-all.jar
-H:IncludeResources="git.properties"
-H:IncludeResources="logback.xml"
-H:IncludeResources="application.properties" \

1 Ответ

0 голосов
/ 18 апреля 2020

Таким образом, эта проблема была решена путем добавления приведенной ниже конфигурации в build.gradle:

allprojects {
    configurations {
        all {
            exclude(group = "commons-logging")
        }
    }
}

и в добавленных зависимостях: compile group: 'org.slf4j', name: 'jcl-over-slf4j', version: '1.7.30'

Надеюсь, это поможет.

...