Почему WebSphere 6.1 (совместимый с JDK 1.5) компилирует мои JSP как JDK 1.4?

Наше веб-приложение совместимо с JDK 1.5 и успешно работает в WebSphere 6.1.

Однако некоторые имеющиеся у нас JSP, содержащие код Java с синтаксисом версии 1.5, не могут быть скомпилированы WebSphere.

Похоже, что по какой-то причине WebSphere рассматривает JSP как совместимые с 1.4 и не компилируется.

Любая идея, почему и как это решить? (Прекратить писать Java в JSP — это один из ответов, а что еще?)


person Eran Medan    schedule 10.01.2010    source источник


Ответы (2)


если вы используете RAD, откройте web.xml, перейдите на вкладку расширений и добавьте новый атрибут jsp jdkSourceLevel и значение 15 (в нем нет точки)

это изменит ibm-web.xml, и запись будет выглядеть так

  <webApp href="WEB-INF/web.xml#WebApp_ID"/>
  <jspAttributes xmi:id="JSPAttribute_1" name="jdkSourceLevel" value="15"/>
person Kalpesh Soni    schedule 12.01.2011
comment
Джон - мои извинения за изменение принятого ответа, ваш отличный, но этот кажется более точным - person Eran Medan; 13.01.2011
comment
Спасибо за это. У меня есть несколько WAR в моем EAR, но я смог получить вкладку Extension только в одном из них. Почему это? Я не мог найти, где это <jspAttributes> написано. Когда я просматриваю исходный файл web.xml, я его не нахожу - person Shervin Asgari; 22.02.2012
comment
Шервин, у вас, скорее всего, нет правильных фасетов веб-сферы в ваших веб-приложениях в rad, см. свойства проекта - person Kalpesh Soni; 07.03.2012

Взгляните на эта страница документации. Он утверждает, что есть опция «исходный уровень JDK»:

Уровень исходного кода JDK
Указывает исходный уровень, на котором компилятор Java компилирует исходный код JSP Java. Допустимые значения: 13, 14 и 15. Значение по умолчанию — 13, что указывает исходный уровень 1.3.

person Jon Skeet    schedule 10.01.2010
comment
@Jon - похоже, это для предварительно скомпилированных JSP, я все еще ищу в их документах настройки "на лету" - person Eran Medan; 10.01.2010
comment
@Ehrann: Это может быть просто плохо объяснено. Я думаю, стоит попробовать, даже если вы не занимаетесь предварительной компиляцией. - person Jon Skeet; 10.01.2010