gpt4 book ai didi

java - GlassFish v3 上的 Wicket 口

转载 作者:搜寻专家 更新时间:2023-11-01 03:13:47 28 4
gpt4 key购买 nike

我希望这会更容易,因为我只想在 GlassFish v3 上的 EAR 中使用 Wicket 进行简单的测试运行。但是,现在我已经通过 netbeans 插件将 Wicket 库添加到我的 WAR 项目中

  • wicket-1.4.10.jar
  • wicket-extensions-1.4.10.jar
  • slf4j-api-1.4.2.jar
  • slf4j-jdk14-1.4.2.jar

当我尝试在 GlassFish 上启动我的 Web 应用程序时出现此启动错误:

exception

javax.servlet.ServletException: PWC1243: Filter execution threw an exception root cause

java.lang.NoClassDefFoundError: org/apache/velocity/app/Velocity

Wicket 是否需要依赖速度?我检查了 maven 创建的默认项目结构,但没有找到依赖项。我还检查了一个 wicket + ejb 教程,它也没有提到速度。

现在我将 velocity 添加到我的类路径中,我得到了这个错误:

http://jira.codehaus.org/browse/MSITE-286

这似乎是2008年解决的问题(当然我用的是最新版本)。

对我做错了什么有什么想法吗?

提前致谢

最佳答案

Wicket 不需要速度,但它可以通过 wicket-velocity.jar 库与之协作。

完整的堆栈跟踪可能有助于发现什么试图加载它,尽管网络应用程序启动问题可能很难诊断。

编辑:

堆栈跟踪的相关部分似乎是

java.lang.NoClassDefFoundError: org/apache/velocity/app/Velocity
at org.apache.wicket.velocity.Initializer.init(Initializer.java:63)
at org.apache.wicket.Application.callInitializers(Application.java:843)
at org.apache.wicket.Application.initializeComponents(Application.java:678)
at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:725)

所以 wicket 应用程序肯定在尝试加载速度,我们不能责怪 glassfish。我将切换到一台我有 wicket 源代码的机器,然后带着可能更多的想法回来,但我突然想到您的 web.xml 可能也有关于 wicket 配置的有用信息。

诊断

web.xml 不是问题。

问题是 Application.callInitializers() 从类路径上的所有 wicket.properties 文件加载初始化器并尝试初始化相关组件。

即使您没有使用 velocity,您的类路径中也有 wicket-velocity.jar,并且 wicket 正在尝试初始化它,因为它包含一个导致调用 org.apache.wicket 的 wicket.properties 文件。 velocity.Initializer.init()(也在 wicket-velocity.jar 中)。此方法尝试调用 Velocity 中的静态 init 方法,该方法不在类路径中。

如果您从类路径中获取 wicket-velocity.jar,这个问题应该会消失。

关于java - GlassFish v3 上的 Wicket 口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4296382/

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