Ошибка при использовании JSFUnit / HtmlUnit / CSSParser - PullRequest
1 голос
/ 20 апреля 2010

Мы недавно преобразовали наш проект в использование 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)
    ...

Все зависимости и JAR-файлы для JSFUnit были извлечены с помощью Maven с использованием репозитория JBoss (http://repository.jboss.com/maven2/).

Мы используем следующие зависимости в проекте:

  • jboss-jsfunit-core 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. Мне удалось частично устранить проблему с помощью файла ss_css2.jar, который кто-то заправил в наш каталог WEB-INF / lib (до преобразования Maven). Я надеюсь выяснить, могу ли я что-то сделать, чтобы исправить зависимости в Maven, вместо того, чтобы самому управлять некоторыми зависимостями.

1 Ответ

2 голосов
/ 20 апреля 2010

Скорее всего, вы получаете «несовместимую» версию 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. У меня не было всех необходимых элементов, чтобы понять это, но ОП сделал:)

...