Eclipse - Как я могу изменить "Аспект проекта" с Tomcat 6 на Tomcat 5.5?

StackOverflow https://stackoverflow.com/questions/75786

Вопрос

(Затмение 3.4, Ганимед)

У меня есть существующий проект динамического веб-приложения в Eclipse.Когда я создавал проект, я указал "Конфигурацию по умолчанию для Apache Tomcat v6" в раскрывающемся списке "Конфигурация".

Пройдет месяц или 2, и теперь я хотел бы изменить конфигурацию на Tomcat 'v5.5'.(Это будет версия Tomcat на рабочем сервере.)

Я попробовал выполнить следующие шаги (безуспешно):

  • Я выбрал Targeted Runtimes в рамках Проекта Properties
    Тот Самый Tomcat v5.5 опция была отключена, и пользовательский интерфейс отобразил это сообщение:
    If the runtime you want to select is not displayed or is disabled you may need to uninstall one or more of the currently installed project facets.
  • Затем я нажал на кнопку Uninstall Facets... Ссылка.
    Под Runtimes вкладка, только Tomcat 6 отображаемый.
    Для Dynamic Web Module, я выбрал версию 2.4 на месте 2.5.
    Под Runtimes вкладка, Tomcat 5.5 теперь отображается.
    Однако пользовательский интерфейс теперь отображал это сообщение:
    Cannot change version of project facet Dynamic Web Module to 2.4.
    Тот Самый Finish кнопка была отключена - так что я зашел в тупик.

Я МОГУ успешно создать НОВЫЙ проект с конфигурацией Tomcat версии 5.5.Однако по какой-то причине это не позволит мне понизить рейтинг существующего проекта.

В качестве обходного пути я создал новый проект и скопировал исходные файлы из старого проекта.Тем не менее, обходной путь был довольно болезненным и несколько неуклюжим.

Кто-нибудь может объяснить, как я могу "понизить" конфигурацию проекта с "Tomcat 6" до "Tomcat 5"?Или, может быть, пролить какой-то свет на то, почему это произошло?

Спасибо
Пит

Это было полезно?

Решение

Это своего рода взлом eclipse, и при этом у вас могут возникнуть проблемы, но это должно сработать:

Откройте вид навигатора и обнаружите, что под вашим проектом есть папка .settings, разверните ее, а затем откройте файл: org.eclipse.wst.common.project.facet.core.xml вы должны увидеть строку, которая гласит: <installed facet="jst.web" version="2.5"/> Измените это значение на 2.4 и сохраните.

Просто убедитесь, что ваш проект не использует ничего специфичного для 2.5, и у вас все должно быть хорошо.

Также, проверьте ваш web.xml имеет правильную конфигурацию:

<web-app version="2.4" 
        xmlns="http://java.sun.com/xml/ns/j2ee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

Другие советы

Это может быть старым, но я попробовал и нашел следующее в eclipse Galilio.

Откройте вид навигатора и обнаружите, что под вашим проектом есть папка .settings, разверните ее, а затем откройте файл:org.eclipse.wst.common.project.facet.core.Удалите содержимое этого файла, щелкните правой кнопкой мыши на проекте и выберите "Свойства".Перейдите к фактам проекта во всплывающем окне, там вы можете щелкнуть по вкладкам среды выполнения и преобразовать свой проект в новый фасет, который вы хотите.

если вы используете Maven, то выключите eclipse, затем введите >mvn eclipse:eclipse -Dwtpversion=2.0, и перезапустите eclipse.

Извините, но, похоже, я не могу оставить комментарий без достаточной репутации, так что...

Я думаю, что eclipse слишком сложно безопасно перейти на более низкий стандарт, потому что он не может точно знать, использовали ли вы что-то из более нового веб-стандарта.Так что, если он просто позволит вам сделать это, это может привести к сбою вашей программы в более старой версии.

Вы всегда можете быть совместимы в обратном направлении, но не в прямом.

Вы можете попробовать снять флажок с фасета, применить, изменить значение фасета и проверить.У меня это работает в Eclipse Helios SR1.

Итак, главное отличие заключается в том, что я делаю это с помощью "Динамического веб-модуля".

Я надеюсь, что у вас это тоже сработает.

Я увидел то же самое, затем я изменил значение версии веб-приложения в web.xml.Это могло бы исправить ситуацию для вас.

Если вы используете maven, вы можете сгенерировать настройки eclipse с помощью плагина maven eclipse.

Для версии jst.web подключение Maven eclipse учитывает зависимости проекта.Если у вас определена зависимость от API сервлета :

<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>servlet-api</artifactId>
    <version>6.0.32</version>
</dependency> 

Ваш параметр jst.web будет равен 6.0

<faceted-project>
  ...
  <installed facet="jst.web" version="6.0"/>
  ...
</faceted-project>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top