簡體   English   中英

在 org.apache.velocity.runtime.RuntimeInstance.parse(RuntimeInstance.java:1198) 處獲取 NullPointerException

[英]Getting NullPointerException at org.apache.velocity.runtime.RuntimeInstance.parse(RuntimeInstance.java:1198)

遷移自

    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity</artifactId>
    <version>1.5</version>

    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity</artifactId>
    <version>1.7</version>

在執行以下指令時

VelocityContext vc = getVelocityContext(valuesMap);
StringWriter writer = new StringWriter();
Velocity.evaluate(vc, writer, "[generate email processor - event id = " + event.getId() + "]", bodyTemplate);

我得到

java.lang.NullPointerException
        at org.apache.velocity.runtime.RuntimeInstance.parse(RuntimeInstance.java:1198)
        at org.apache.velocity.runtime.RuntimeInstance.parse(RuntimeInstance.java:1181)
        at org.apache.velocity.runtime.RuntimeInstance.evaluate(RuntimeInstance.java:1297)
        at org.apache.velocity.runtime.RuntimeInstance.evaluate(RuntimeInstance.java:1265)
        at org.apache.velocity.app.Velocity.evaluate(Velocity.java:180)
        at net.nationalpayment.core.backend.GenerateMessageProcessor$EventProcessor.generateMessage(GenerateMessageProcessor.java:1361)
        at net.nationalpayment.core.backend.GenerateMessageProcessor$EventProcessor.run(GenerateMessageProcessor.java:1155)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
java.lang.NullPointerException
        at org.apache.velocity.runtime.RuntimeInstance.parse(RuntimeInstance.java:1198)
        at org.apache.velocity.runtime.RuntimeInstance.parse(RuntimeInstance.java:1181)
        at org.apache.velocity.runtime.RuntimeInstance.evaluate(RuntimeInstance.java:1297)
        at org.apache.velocity.runtime.RuntimeInstance.evaluate(RuntimeInstance.java:1265)
        at org.apache.velocity.app.Velocity.evaluate(Velocity.java:180)
        at net.nationalpayment.core.backend.GenerateMessageProcessor$EventProcessor.generateMessage(GenerateMessageProcessor.java:1361)
        at net.nationalpayment.core.backend.GenerateMessageProcessor$EventProcessor.run(GenerateMessageProcessor.java:1155)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

我在應用程序執行期間初始化 RuntimeSingleton 一次,如下所示。

if(!RuntimeSingleton.isInitialized()) {
        RuntimeSingleton.init();
    }

為什么我得到 NullPointerException ?

在速度(版本 1.7)。 屬性已被外部化為名為velocity.property 的屬性文件。

根據我的要求指定下面提到的屬性后,所有其他屬性都使用默認值。問題得到解決。

runtime.log = /tmp/velocity.log

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM