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



(В Eclipse 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 tab, только Tomcat 6 отображается.

    Ибо Dynamic Web Module, Я выбрал версию 2.4 на месте 2.5.

    Под Runtimes tab,Tomcat 5.5 теперь отображается.

    Однако пользовательский интерфейс теперь отображает это сообщение:
    Cannot change version of project facet Dynamic Web Module to 2.4.

    Элемент Finish кнопка была отключена-так что я дошел до тупика.


я могу успешно создать новый проект с конфигурацией Tomcat v5.5. По какой-то причине, однако, это не позволит мне понизить' существующий проект.



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



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



спасибо

Пит

534   7  

7 ответов:

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

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

просто убедитесь, что ваш проект не использует ничего конкретного на 2,5 и вы должны быть хорошо.

также проверьте свой веб.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.

откройте вид навигатора и найдите, что есть .папка настроек в вашем проекте разверните ее и откройте файл: org.затмение.РМО.общий.проект.грань.ядро.Удалить содержимое этого файла и щелкните правой кнопкой мыши на проекте и выберите Свойства. Перейдите к Факатам проекта во всплывающем окне, где вы можете нажать на вкладки времени выполнения и преобразовать свой проект в новый фасет, который вы хотите.

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

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

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

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

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

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

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

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

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

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

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

вы jst.веб-параметр будет 6.0

<faceted-project>
  ...
  <installed facet="jst.web" version="6.0"/>
  ...
</faceted-project>

Comments

    Ничего не найдено.