Как настроить пользовательский кодировщик для входа в систему? - PullRequest
0 голосов
/ 21 апреля 2020

Я не могу понять, как я должен разрешить logback найти мой класс реализации макета.

Ниже моя конфигурация.

Зависимости POM

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>1.2.3</version>
    </dependency>

Конфигурация приложения обратного входа

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${DIR_TO_LOG}/${FILE_NAME}.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      ...
    </rollingPolicy>
    <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
        <layout class="my.package.MyLayout">
        </layout>

    </encoder>
</appender>

Также везде, где я размещаю MyLayout класс ( либо как класс проекта, либо как класс в jar-файле, добавленном как зависимость в maven), я получаю исключение для класса как таковое:

    ERROR in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Could not create 
    component [layout] of type [my.package.MyLayout] java.lang.ClassNotFoundException: 
    my.package.MyLayout
    at java.lang.ClassNotFoundException: my.package.MyLayout
    at  at java.net.URLClassLoader.findClass(URLClassLoader.java:457)
    at  at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:201)
    at  at java.lang.ClassLoader.loadClass(ClassLoader.java:676)
    at  at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:112)
    at  at java.lang.ClassLoader.loadClass(ClassLoader.java:642)
    at  at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:62)
    at  at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:58)
    at  at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:545)
    at  at java.lang.ClassLoader.loadClass(ClassLoader.java:642)
...