Почему я всегда должен добавлять проект Spring Nature после Maven Update Project Configuration в Eclipse?

Я использую Eclipse для работы над проектом Spring, который управляется через Maven (ну, плагин m2e в Eclipse).

Всякий раз, когда я вношу изменения в файл Maven pom.xml, интерфейс жалуется и говорит, что впоследствии мне нужно запустить «Обновить конфигурацию проекта» из элемента Maven, отображаемого в контекстном меню, когда вы щелкаете правой кнопкой мыши проект верхнего уровня.

Когда это завершается, проект всегда теряет свою «природу проекта Spring», которую мне нужно снова добавить из элемента Spring в том же контекстном меню. Это очень раздражает.

Почему это происходит?

Есть ли способ навсегда сохранить природу проекта Spring, добавив что-то в pom.xml?


person Geeb    schedule 02.02.2012    source источник
comment
И как меняется файл springConfig? (если это так)   -  person Gangnus    schedule 13.12.2012


Ответы (1)


Я использую STS и у меня нет этой проблемы, но у меня также есть этот плагин в моем файле pom.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.7</version>  
    <configuration>
        <downloadSources>true</downloadSources>
        <downloadJavadocs>false</downloadJavadocs>
        <wtpversion>2.0</wtpversion>
        <additionalBuildcommands>
            <buildCommand>
                <name>org.springframework.ide.eclipse.core.springbuilder</name>
            </buildCommand>
        </additionalBuildcommands>
        <additionalProjectnatures>
            <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
        </additionalProjectnatures>
    </configuration>
</plugin>
person Ralph    schedule 02.02.2012
comment
Спасибо за ваш ответ. Это использует плагин maven-eclipse. Из информации, которую я почерпнул из вики Eclipse здесь, я боялся использовать это, так как я решил использовать m2e, чтобы разобраться со своими вещами Maven. Кажется, что эти двое наступают друг другу на пальцы ног. Сказав, что тот факт, что природа проекта может быть определена в pom.xml, как вы продемонстрировали, подразумевает, что мне нужно включить некоторые подобные теги для достижения моей цели здесь. - person Geeb; 03.02.2012
comment
Я думаю, что на самом деле у m2e другой подход к настройке природы проекта с использованием POM. См. этот другой вопрос stackoverflow. Это все еще неубедительно, поскольку автор не полностью опубликовал свое решение, хотя и было дано объяснение. - person Geeb; 03.02.2012
comment
@Geeb: может быть, а может и нет, поэтому на него смотрят: у меня нет проблемы - и да, я тоже использую m2e 1.0 - похоже на черную магию - поэтому я бы порекомендовал попробовать, что произойдет, если вы добавите строки к вашему pom (без установки чего-либо лишнего) - если это не сработает, я удалю этот ответ - person Ralph; 03.02.2012
comment
Я попробовал, и это сработало! Так что спасибо за это. Природа весеннего проекта была сохранена после обновления конфигурации проекта. Более того, если я вручную удалю природу проекта spring в IDE, но оставлю ваши изменения в pom.xml, природа проекта будет применена повторно. P.S. Я думаю, вы пропустили закрывающий тег </additionalProjectnatures> в своем фрагменте XML. - person Geeb; 03.02.2012
comment
добавлен закрывающий тег (</additionalProjectnatures>) - person Ralph; 03.02.2012