我們剛剛將項目轉換爲使用Maven進行構建和依賴項管理,並且在轉換後,我在嘗試在項目中運行任何JSFUnit測試時遇到以下異常。使用JSFUnit/HtmlUnit/CSSParser時出錯
Exception class=[java.lang.UnsupportedOperationException] com.gargoylesoftware.htmlunit.ScriptException: CSSRule com.steadystate.css.dom.CSSCharsetRuleImpl is not yet supported. at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:527) at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:537) ...
所有的依賴和JAR的JSFUnit用使用Maven JBoss的倉庫(http://repository.jboss.com/maven2/)拉。
我們使用以下依存項目:
- 的jboss-jsfunit核心1.2.0.Final
- 的jboss-jsfunit,RichFaces的1.2.0.Final
- RichFaces的-UI 3.3.2.GA
- openfaces 2.0
- JSF 1.2_12
- 的Facelets 1.1.14
在依賴被Maven管理之前,我們能夠很好地運行我們的JSFUnit測試。我能夠通過使用某人放入我們的WEB-INF/lib目錄(來自Maven轉換之前)的ss_css2.jar文件來修復此問題。我希望瞭解是否還有其他方法可以解決Maven中的依賴問題,而不是依靠自己來管理一些依賴關係。
@brianf在某個地方一定有區別。我不知道你是否知道依賴插件,但是你可以用'mvn dependency:tree'打印依賴樹(包括傳遞依賴)。調試類路徑非常有用(也可以在「依賴層次結構」選項卡下的m2eclipse中使用)。 – 2010-04-20 23:19:43
雖然確保所有版本都一樣沒有解決我的問題,但我確實嘗試將cssparser dependency上的版本降低到0.9.4(以前是0.9.5),這似乎解決了我的問題。 – 2010-04-21 14:57:51