У нас та же проблема. OpenLayers.js вычисляет URI местоположения скрипта и на основе этого местоположения включает другие компоненты, такие как стили и т. Д.
Так что мы используем вариант 1, JS хорошо включен, но есть неработающие ссылки на CSS и ИЗОБРАЖЕНИЯ.
В качестве временного решения мы используем второй вариант, и он хорошо работает.
1: <h:outputScript library="js/openlayers" name="OpenLayers.js" />
2: <script src="resources/js/openlayers/OpenLayers.js"></script>
Причина в том, что JSF переопределяет ссылку, поэтому OpenLayers.js.xhtml больше не соответствует регулярному выражению:
http://HOST/CONTEXT/javax.faces.resource/OpenLayers.js.xhtml?ln=js/openlayers
Использование option2 не проблема, если вы не используете MapConponent в банке.