Maven 2 使用JSFUnit/HtmlUnit/CSSParser时出错

Maven 2 使用JSFUnit/HtmlUnit/CSSParser时出错,maven-2,jsf,richfaces,htmlunit,jsfunit,Maven 2,Jsf,Richfaces,Htmlunit,Jsfunit,我们最近刚刚将我们的项目转换为使用Maven进行构建和依赖关系管理,在转换之后,我在尝试在我的项目中运行任何JSF单元测试时遇到以下异常 Exception class=[java.lang.UnsupportedOperationException] com.gargoylesoftware.htmlunit.ScriptException: CSSRule com.steadystate.css.dom.CSSCharsetRuleImpl is not yet supported.

我们最近刚刚将我们的项目转换为使用Maven进行构建和依赖关系管理,在转换之后,我在尝试在我的项目中运行任何JSF单元测试时遇到以下异常

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) ... 异常类=[java.lang.UnsupportedOperationException] com.gargoylesoftware.htmlunit.ScriptException:CSSRule com.steadystate.css.dom.csscharestruleImpl尚不受支持。 在com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:527) 位于net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:537) ... JSFUnit的所有依赖项和JAR都是使用JBoss存储库()通过Maven提取的

我们在项目中使用以下依赖项:

  • jboss jsfunit core 1.2.0.Final
  • jboss jsfunit richfaces 1.2.0.Final
  • richfaces ui 3.3.2.GA
  • OpenFaces2.0
  • JSF 1.2_12
  • Facelets 1.1.14

在Maven管理依赖项之前,我们能够很好地运行JSF单元测试。我能够通过使用一个ss_css2.jar文件来半修复这个问题,有人将该文件塞进了我们的WEB-INF/lib目录(在Maven转换之前)。我希望找出是否还有其他方法可以修复Maven中的依赖项,而不是自己管理某些依赖项。

您很可能会得到一个“不兼容”的HtmlUnit版本或另一个JAR(通过传递方式提取)。尝试使用以前使用的版本,并在
dependencyManagement
部分下声明它,例如

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>net.sourceforge.htmlunit</groupId>
      <artifactId>htmlunit</artifactId>
      <version>2.7</version><!-- put "your" version here -->
    </dependency>
  </dependencies>
</dependencyManagement>    

net.sourceforge.htmlunit
htmlunit
2.7
或者,如果您更改了任何版本,请尝试还原到准确的先前状态(顺便问一下,您能否澄清先前版本与当前使用版本之间的差异?)


更新:问题似乎与cssparser工件的版本有关。我没有弄明白这一点所需的全部要素,但OP做到了:)

@brianf肯定有什么不同之处。我不知道您是否知道依赖插件,但您可以使用
mvn dependency:tree
打印依赖树(包括可传递依赖)。调试类路径(在m2eclipse的“依赖层次结构”选项卡下也可用)非常有帮助。虽然确保所有版本都相同并没有解决我的问题,但我确实尝试将cssparser依赖的版本降低到0.9.4(以前是0.9.5),这似乎解决了我的问题。