在 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.
的 属性 文件中
在指定下面提到的属性后,根据我的 requirement.The 问题将所有其他属性保留为默认值,问题得到解决。
runtime.log = /tmp/velocity.log
迁移自
<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.
的 属性 文件中在指定下面提到的属性后,根据我的 requirement.The 问题将所有其他属性保留为默认值,问题得到解决。
runtime.log = /tmp/velocity.log