eclipse - как я могу изменить «фасет проекта» с tomcat 6 на tomcat 5.5?

<p>(затмение 3.4, ганимед)</p><p>у меня есть существующий проект динамического веб-приложения в eclipse. при создании проекта я указал "конфигурация по умолчанию для apache tomcat v6" в раскрывающемся меню "конфигурация".</p><p>через месяц или два я хочу изменить конфигурацию на tomcat v5.5. (это будет версия tomcat на рабочем сервере.)</p><p>я попробовал следующие шаги (без успеха):</p><ul> <li>я выбрал <code>targeted runtimes</code> в проекте <code>properties</code><br> параметр <code>tomcat v5.5</code> был отключен, и пользовательский интерфейс отобразил это сообщение:<br> <code>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.</code></li> <li>затем я нажал на ссылку <code>uninstall facets...</code>.<br> на вкладке <code>runtimes</code> отображается только <code>tomcat 6</code>.<br> для <code>dynamic web module</code> я выбрал версию <code>2.4</code> вместо <code>2.5</code>.<br> на вкладке <code>runtimes</code> теперь отображается <code>tomcat 5.5</code>.<br> однако пользовательский интерфейс теперь отображает это сообщение:<br> <code>cannot change version of project facet dynamic web module to 2.4.</code><br> кнопка <code>finish</code> была отключена, поэтому я зашел в тупик.</li> </ul><p>я могу успешно создать новый проект с конфигурацией tomcat v5.5. по какой-то причине, однако, это не позволит мне понизить рейтинг существующего проекта.</p><p>в качестве обходного пути я создал новый проект и скопировал исходные файлы из старого проекта. тем не менее, обходной путь был довольно болезненным и несколько неуклюжим.</p><p>может кто-нибудь объяснить, как я могу "понизить" конфигурацию проекта с "tomcat 6" до "tomcat 5"? или, возможно, пролить свет на то, почему это произошло?</p><p>спасибо<br> пит</p>

<p>это своего рода взлом eclipse, и у вас могут возникнуть проблемы с этим, но это должно сработать:</p><p>откройте представление навигатора и найдите, что в вашем проекте есть папка .settings, разверните ее, а затем откройте файл: <code>org.eclipse.wst.common.project.facet.core.xml</code>, вы должны увидеть строку: <code><installed facet="jst.web" version="2.5"/></code> измените это на 2.4 и сохраните.</p><p>просто убедитесь, что ваш проект не использует ничего конкретного для 2.5, и вы должны быть хорошими.</p><p>также проверьте, что ваш web.xml имеет правильную конфигурацию:</p><pre><code><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"> </code></pre>

<p>это может быть старым, но я попробовал и нашел следующее в eclipse galilio.</p><p>откройте представление навигатора и найдите, что в вашем проекте есть папка .settings, разверните ее и откройте файл: org.eclipse.wst.common.project.facet.core. удалите содержимое этого файла и щелкните правой кнопкой мыши проект и нажмите на свойства. перейдите во вкладку project facats во всплывающем окне, где вы можете нажать на вкладки времени выполнения и преобразовать ваш проект в новый фасет, который вы хотите.</p>

<p>если вы используете maven, закройте eclipse, затем введите <code>>mvn eclipse:eclipse -dwtpversion=2.0</code> и перезапустите eclipse.</p>

<p>вы можете попытаться снять флажок с фасета, применить, изменить значение фасета и проверить. это работает для меня в eclipse helios sr1.</p><p>итак, главное отличие в том, что я делаю это с помощью "динамического веб-модуля".</p><p>я надеюсь, что это работает и для вас.</p>

<p>я увидел то же самое, затем изменил значение версии веб-приложения в <code>web.xml</code>. это может исправить это для вас.</p>

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