JinJava Uncaught исключение из сервлета из-за регистратора

Пытаясь использовать JinJava на App-Engine, я получаю следующее исключение

Uncaught exception from servlet
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at com.hubspot.jinjava.util.Logging.<clinit>(Logging.java:23)
    at com.hubspot.jinjava.lib.SimpleLibrary.register(SimpleLibrary.java:59)
    at com.hubspot.jinjava.lib.SimpleLibrary.registerClasses(SimpleLibrary.java:49)
    at com.hubspot.jinjava.lib.exptest.ExpTestLibrary.registerDefaults(ExpTestLibrary.java:13)
    at com.hubspot.jinjava.lib.SimpleLibrary.<init>(SimpleLibrary.java:34)
    at com.hubspot.jinjava.lib.exptest.ExpTestLibrary.<init>(ExpTestLibrary.java:8)
    at com.hubspot.jinjava.interpret.Context.<init>(Context.java:54)
    at com.hubspot.jinjava.interpret.Context.<init>(Context.java:47)
    at com.hubspot.jinjava.Jinjava.<init>(Jinjava.java:81)
    at com.hubspot.jinjava.Jinjava.<init>(Jinjava.java:71)

мой appengin-web.xml файл уже идет с этим

<property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
        <!--I add these below -->
        <property name="java.util.logging.config.file"
                  value="WEB-INF/java-util-logging.properties"/>
        <property name="os.version" value="1.0.GAE whatever"/>
        <property name="os.arch" value="GAE whatever"/>
...

но это не имеет значения, если я закомментирую эти строки

1 ответ

Решение

Похоже, что jinjava использует slf4j для ведения журнала, и он не может найти классы в вашем classpath. Этот тип ошибки обычно означает, что вам не хватает фляг зависимостей.

При входе через slf4j в AppEngine вам нужны две зависимости:

С Maven зависимости могут выглядеть так

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.7</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>1.7.8</version>
    </dependency>

Но вы можете добавить slf4j-api и slf4j-jdk14 вручную. Просто скачайте их с вашего любимого jar-источника и добавьте их в путь сборки.

Другие вопросы по тегам