gpt4 book ai didi

java - Apache Velocity - 由于 slf4j 依赖性而无法评估脚本

转载 作者:行者123 更新时间:2023-12-02 12:21:03 25 4
gpt4 key购买 nike

继续 previous问题我无法在速度 2.0 中执行脚本,

我使用jar:velocity-engine-scripting-2.0.jarvelocity-engine-scripting-2.0.jarcommons-collections-3.2。 2.jar

我正在尝试关注 developer guide示例:

ScriptEngineManager manager = new ScriptEngineManager();
manager.registerEngineName("velocity", new VelocityScriptEngineFactory());
ScriptEngine engine = manager.getEngineByName("velocity");


System.setProperty(VelocityScriptEngine.VELOCITY_PROPERTIES, "path/to/velocity.properties");
String script = "Hello $world";
Writer writer = new StringWriter();
engine.getContext().setWriter(writer);
Object result = engine.eval(script);
System.out.println(writer);

我在初始化时收到 slf4j 错误,我使用的是 slf4j-jdk14.jar。即使添加 slf4j-api-1.8.0-alpha2.jar

后,我也没有找到针对此特定错误的解决方案
class org.apache.velocity.script.VelocityScriptEngine
java.lang.NoSuchMethodError: org.slf4j.Logger.trace(Ljava/lang/String;)V
at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:233)
at org.apache.velocity.script.VelocityScriptEngine.initVelocityEngine(VelocityScriptEngine.java:212)
at org.apache.velocity.script.VelocityScriptEngine.compile(VelocityScriptEngine.java:299)
at org.apache.velocity.script.VelocityScriptEngine.compile(VelocityScriptEngine.java:288)
  • 请注意,我在类里面没有使用任何日志记录,因此不需要迁移到 slf4j

编辑1:

我在 slf4j FAQ 中发现了有趣的评论关于速度:

The logging strategy adopted by the Velocity project is a good example of the "custom logging abstraction" anti-pattern. By adopting an independent logging abstraction strategy, Velocity developers have made life harder for themselves, but more importantly, they made life harder for their users.

编辑2:

速度 dependencies在运行时是: slf4j-api 1.7.25 和 commons-lang 3.5,我将其添加到类路径中,但仍然出现相同的错误

最佳答案

您在常见问题解答中找到的文档摘录显然已经过时了。

dependencies页面明确指出,虽然在编译和运行时需要 slf4j-api,但您还需要选择一种 slf4j 绑定(bind),例如 slf4j-simple,它默认会记录到 stderr。

关于java - Apache Velocity - 由于 slf4j 依赖性而无法评估脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45781399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com