Давайте проверим, что делает ViewHandlerImpl#getActionURL()
( Мохарра - просто открытый источник ). Вот обобщенный / раздетый фрагмент метода, как в Mojarra 2.0.2:
public String getActionURL(FacesContext context, String viewId) {
if (context == null) throw new NullPointerException();
if (viewId == null) throw new NullPointerException();
if (viewId.charAt(0) != '/') throw new IllegalArgumentException();
// ...
Другими словами, переданный viewId
является пустой строкой вместо null
или /
или обычным путем. Обработчик Mojarra вообще не ожидал этого, поэтому это исключение во время выполнения. может быть ошибкой в обработчике представления Mojarra, что он также должен обрабатывать пустые строки, но также может быть ошибкой в обработчике представления Ajax4jsf, Facelets или Seam, что он никогда не должен пропускать пустая строка Это также может быть ошибка в вашем собственном коде, что вы на самом деле пропускаете пустую строку в качестве идентификатора представления.
Если проблема не в вашем коде, то я бы начал с обновления того, что можно обновить, чтобы посмотреть, решит ли это проблему. Возможно, это уже сообщалось ранее как ошибка и исправлено в новой версии. Если это не поможет, я бы проверил путь к классам на наличие дубликатов JAR-файлов разных версий, которые могли конфликтовать друг с другом.