我们最近刚刚将项目转换为使用Maven进行构建和依赖项管理,转换后,我在尝试在项目中运行任何JSFUnit测试时遇到以下异常。
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) ...
JSFUnit的所有依赖项和JAR都是使用JBoss存储库(http://repository.jboss.com/maven2/)在Maven中提取的。
我们在项目中使用以下依赖项:
在Maven管理依赖项之前,我们能够正常运行JSFUnit测试。我能够通过使用ss_css2.jar文件来解决问题,这个文件有人隐藏在我们的WEB-INF / lib目录中(从Maven转换之前)。我希望找出我是否可以采取其他措施来修复Maven中的依赖项,而不是自己管理一些依赖项。
答案 0 :(得分:2)
你很可能会得到一个“不兼容”的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>
或者,如果您更改了任何版本,请尝试恢复到之前的完全状态(顺便说一句,您是否可以澄清先前版本与当前版本之间的差异?)。
更新:问题似乎与cssparser工件的版本有关。我没有完成所有必需的元素,但OP确实如此:)