Я думаю, Ladlestein , безусловно, на правильном пути, но я могу добавить немного больше контекста к этой проблеме так, как я смог ее воспроизвести:
У меня есть аналогичный Eclipse (Indigo), в котором я использую проект Maven и использую функцию Eclipse WTP для развертывания на встроенном сервере Tomcat 7. Все работает нормально, если я импортирую проект как проект Maven из Eclipse, но моя проблема возникает, когда я выполняю mvn eclipse:clean
и mvn eclipse:eclipse
из командной строки. Это, конечно, перестраивает файл Eclipse .project
, но оставляет его без каких-либо явно важных Natures и buildCommands .
Я наблюдаю файл .project
, очень похожий на ошибочный в вопросе (в myproject2), и в самом Eclipse проект больше не является тем, что Eclipse называет «Динамическим веб-модулем» - следовательно, не может быть развернут - и при этом дольше проект Maven. Я смог исправить это следующим образом:
Сначала сделайте его проектом Maven, добавив в файл .project
следующее (я не знаю, есть ли лучший способ через сам Eclipse):
<buildSpec>
...
...
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
</buildCommand>
</buildSpec>
<natures>
...
...
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
Теперь вы можете убедиться в актуальности проекта, щелкнув правой кнопкой мыши по проекту и запустив Maven > Update Project Configuration...
.
Далее вы можете сделать проект развертываемым через Properties > Project Facets > Dynamic Web Module
(флажок). Вот более полный набор инструкций для превращения вашего проекта в динамический веб-модуль .
В конце ваш .project
файл должен выглядеть примерно так:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>project1</name>
<comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
</natures>
</projectDescription>