java - 无法初始化速度

时间:2011-12-31 18:23:06

标签: java linux velocity

当我调用Velocity.init()时,我得到以下异常。我已经包含了所有依赖项,我尝试过设置属性和使用属性文件,但都无济于事。有什么帮助吗?

Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:78)
at java.io.InputStreamReader.<init>(InputStreamReader.java:97)
at org.apache.commons.collections.ExtendedProperties.load(ExtendedProperties.java:543)
at org.apache.commons.collections.ExtendedProperties.load(ExtendedProperties.java:519)
at org.apache.velocity.runtime.RuntimeInstance.setDefaultProperties(RuntimeInstance.java:416)
at org.apache.velocity.runtime.RuntimeInstance.initializeProperties(RuntimeInstance.java:628)
at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:261)
at org.apache.velocity.runtime.RuntimeSingleton.init(RuntimeSingleton.java:112)
at org.apache.velocity.app.Velocity.init(Velocity.java:74)

这是调用代码

import com.syntatik.roborm.RobormEntity;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.Template;
import org.apache.velocity.app.Velocity;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.util.Properties;

public class Generator{
    protected VelocityContext context;

    public Generator(){
        Velocity.init();
        this.context = new VelocityContext();
    }
}

1 个答案:

答案 0 :(得分:2)

我查看了Velocity源代码,可以看到它在类路径中找到默认属性文件,然后在Reader.java中遇到问题。使用IDE,您应该能够获取Reader.java的源代码,以了解它为何获得NPE。不幸的是,目前我无法查看Reader以获取更多信息。

如果您无法确定NPE的原因,我建议您从类路径中删除默认属性文件,并在代码中设置属性。

查看at this question了解更多信息