[英]Wicket on GlassFish v3
我希望這會更容易,因為我只想在GlassFish v3上的EAR中使用Wicket進行簡單的測試。 但是現在我已經通過netbeans插件將Wicket庫添加到我的WAR項目中了
當我嘗試在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.