簡體   English   中英

GlassFish v3上的Wicket

[英]Wicket on GlassFish v3

我希望這會更容易,因為我只想在GlassFish v3上的EAR中使用Wicket進行簡單的測試。 但是現在我已經通過netbeans插件將Wicket庫添加到我的WAR項目中了

  • 檢票1.4.10.jar
  • 檢票口的擴展,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年解決的一個問題(我使用的是當前的最新版本)。

關於我做錯了什么的任何想法?

提前致謝

Wicket不需要速度,雖然它可以通過wicket-velocity.jar庫與它協作。

完整的堆棧跟蹤可能有助於發現什么試圖加載它,雖然Web的應用程序的啟動問題可能是痛苦的診斷。

編輯:

stacktrace的相關部分似乎是

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,即使你沒有使用velocity,wicket正在嘗試初始化它,因為它包含一個wicket.properties文件,導致調用org.apache.wicket.velocity.Initializer.init() (也在wicket-velocity.jar中)。 此方法嘗試在Velocity中調用靜態init方法,該方法不在類路徑中。

如果從類路徑中獲取wicket-velocity.jar,則此問題應該消失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM