для: каждый цикл в сервере приложений IBM Webphere 6.1 - PullRequest
2 голосов
/ 03 мая 2011

Я разработал веб-приложение и создал файл war, используя Netbeans 6.9. Я широко использовал возможности Java 5, как в jsp, так и в java-файлах. После развертывания при просмотре страницы jsp, содержащей: для каждого цикла, я получаю сообщение об ошибке о том, что

'for each' statements are only available if source level is 5.0

Я читал, что в WAS6.1 есть поддержка функций Java5. Также проверил версию jdk в java / bin, и это IBM jdk 1.5.

Я также попробовал инструкции, приведенные в на этой странице . Я сомневаюсь, что при создании файла war нужно сделать какие-либо настройки, чтобы сделать развертывание совместимым с Java 5. Или есть какие-либо настройки уровня сервера / приложения, которые нужно выполнить в консоли IBM WAS?

1 Ответ

2 голосов
/ 03 мая 2011

Как вы обнаружили, проблема заключается в JSP-движке *1001* WAS 6.1 *, который основан на JSP 2.0 (ориентирован на Java 1.3).Я предполагаю, что вы нашли правильный параметр:

jdkSourceLevel

Этот параметр механизма JSP введен в WebSphere Application Server версии 6.1 для поддержки JDK 5. Этопараметр следует использовать вместо параметра compileWithAssert, хотя компиляция WithAssert все еще работает в версии 6.1.Значение по умолчанию для этого параметра - 13. Этот параметр требует регенерации исходного кода Java.Ниже приведены значения параметров jdkSourceLevel:

  • 13 (по умолчанию) - это значение отключит все новые языковые функции JDK 1.4 и JDK 5.0.
  • 14 - это значение активирует использование средства подтверждения и отключит все новые языковые функции JDK 5.0.
  • 15 - это значение позволит использовать утверждениесредство и все новые языковые функции JDK 5.0.

Я предполагаю, что вы установили это в в правильном месте с правильным регистром и перезапустили сервер.Я бы также проверил, что ваш web.xml объявляет схему Servlet 2.4 на случай, если это повлияет на механизм JSP.В противном случае проверьте сайт поддержки на наличие исправлений.

Вы сможете прекомпилировать JSP с помощью JspBatchCompiler или Ant задача , если все остальное не удалось.


Я бы спросил, почему вы вообще используете скриптлеты, но это другой разговор.

...