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
отображается только 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 v5.5. По какой-то причине, однако, это не позволит мне понизить "существующий проект".
Как работа, я создал новый проект и скопировал исходные файлы из старого проекта. Тем не менее, обход был довольно болезненным и несколько неуклюжим.
Может ли кто-нибудь объяснить, как я могу "понизить" конфигурацию проекта с "Tomcat 6" до "Tomcat 5"? Или, возможно, пролить свет на то, почему это произошло?
Спасибо
Пит
Ответы
Ответ 1
Это своего рода взлом затмения, и вы можете столкнуться с этим, но это должно сработать:
Откройте представление навигатора и найдите, что в вашем проекте находится папка .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">
Ответ 2
Это может быть старым, но я пробовал и нашел следующее в eclipse Galilio.
Откройте представление навигатора и найдите, что в вашем проекте находится папка .settings, а затем откройте файл: org.eclipse.wst.common.project.facet.core.Delete содержимое этого файла и щелкните правой кнопкой мыши в проекте и нажмите на свойства. Перейдите в раздел "Проекты" во всплывающем окне, где вы можете щелкнуть вкладки времени выполнения и преобразовать свой проект в новый фасет, который вы хотите.
Ответ 3
если вы используете Maven, затем закройте затмение, затем введите >mvn eclipse:eclipse -Dwtpversion=2.0
и перезапустите eclipse.
Ответ 4
Извините, кажется, я не могу опубликовать комментарий без достаточного количества Rep, поэтому...
Я думаю, что слишком сложно для eclipse безопасно деградировать до более низкого стандарта, потому что он не может действительно знать, использовали ли вы что-то из более нового веб-стандарта. Поэтому, если это просто позволяет вам сделать это, это может привести к сбою вашей программы в более старой версии.
Вы всегда можете быть совместимы с обратной совместимостью, но не совместимы с ними.
Ответ 5
Вы можете попытаться снять флажок, применить, изменить значение фасета и проверить. Он работает для меня в Eclipse Helios SR1.
Итак, главное отличие в том, что я делаю это с помощью "Динамического веб-модуля".
Я надеюсь, что это сработает и для вас.
Ответ 6
Я видел то же самое, затем я изменил значение версии веб-приложения в web.xml
. Это может исправить это для вас.
Ответ 7
Если вы используете maven, вы можете создать настройки eclipse с помощью плагина maven eclipse.
Для версии jst.web затмение Eclipse Maven учитывает зависимости проекта. Если у вас установлена зависимость apl сервлета:
<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>