【问题标题】:Wicket on GlassFish v3GlassFish v3 上的检票口
【发布时间】:2010-11-28 10:38:47
【问题描述】:

我希望这会更容易,因为我只想在 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 应用程序时出现此启动错误:

异常

javax.servlet.ServletException: PWC1243: 过滤器执行引发异常 根本原因

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

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

现在我在类路径中添加了速度,我收到了这个错误:

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

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

关于我做错了什么有什么想法吗?

提前致谢

【问题讨论】:

    标签: java glassfish wicket glassfish-3


    【解决方案1】:

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

    完整的堆栈跟踪可能有助于发现 试图加载它的内容,但诊断 Web 应用程序启动问题可能会很痛苦。

    编辑:

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

    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。我将切换到一台我有检票源的机器,并返回可能更多的想法,但我突然想到你的 web.xml 也可能包含有关检票配置的有用信息。

    诊断

    web.xml 不是问题。

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

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

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

    【讨论】:

    • 我将生成的 web.xml 内容复制粘贴到 WAR 中的 web.xml:pastebin.com/fSuuUrzT - 但是新的 web.xml 是 2.5 版而不是 2.4 版 - 可能存在问题。
    • 没问题。我很喜欢弄清楚这一点,它有助于我自己理解检票口初始化。所以你的问题得到了我的赞成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 1970-01-01
    • 2010-12-28
    相关资源
    最近更新 更多