由于记录器

时间:2016-05-02 07:24:01

标签: google-app-engine jinjava

尝试在App-Engine上使用JinJava,我得到以下异常

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 个答案:

答案 0 :(得分:0)

看起来jinjava使用slf4j进行日志记录,并且无法在类路径中找到类。这种类型的错误通常意味着您缺少依赖性jar。

在AppEngine上登录slf4j时,您需要两个依赖项:

使用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-source下载它们,然后将它们添加到您的构建路径中。