Maven проект не рассматривается как Java в Eclipse - PullRequest
20 голосов
/ 17 января 2012

Я работаю над проектом, в котором много разных проектов Maven. Я делал кучу тестов JUnit на этих проектах, и обычно это проходит хорошо. Я открываю Eclipse, щелкаю правой кнопкой мыши в проводнике пакетов -> Импорт ... Существующие проекты Maven и могу нормально импортировать проект. Я могу собрать, детализировать до src / test / java ... Щелкните правой кнопкой мыши по файлу и выполните тест Run As JUnit. Время от времени, хотя, я не могу заставить это работать. Если я щелкну правой кнопкой мыши, чтобы запустить Run As, все, что я получу, это приложение AspectJ / Java. Там нет тестов JUnit.

Я заметил, что значок рядом с папкой проекта имеет только M и значок папки, тогда как в проектах, которые работают, есть папка M и A AJ. Я также заметил, что он не сортирует файлы в свои пакеты, как обычные проекты Java. Похоже, это не рассматривает проект как проект AspectJ. Как заставить Eclipse распознавать этот проект Maven как проект Java?

Ответы [ 12 ]

33 голосов
/ 25 февраля 2015

Некоторые из существующих ответов должны работать, но те, которые предлагают добавить фасет Java, будут работать только в том случае, если ваш проект уже имеет (или вы хотите преобразовать его) граненый характер, и тот, который предлагает вам изменить свой pom.xml будет работать только в том случае, если вы затем повторно импортируете свой проект как проект maven.

Если вы хотите «исправить» существующий проект, то есть добавить природу Java, не преобразовывая ее в ограненную форму и не удаляя и повторно импортируя, просто отредактируйте файл .project (внешне или с помощью навигатора). в eclipse, поскольку он не будет отображаться в вашем обозревателе пакетов) и добавьте java builder и java nature к существующему maven builder / nature:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>yourprojectname</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <!-- add this build command -->
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <!-- this would've already been there -->
        <buildCommand>
            <name>org.eclipse.m2e.core.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <!-- add this nature -->
        <nature>org.eclipse.jdt.core.javanature</nature>
        <!-- this would've already been there -->
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
    </natures>
</projectDescription>

Обратите внимание на другую заглавную букву (javabuilder, но maven2Builder, javanature, но maven2Nature).

Как только вы сохраните, он должен автоматически перестроиться. Возможно, вам придется вручную добавить любые исходные папки (Project properties -> Java Build Path -> Source tab -> Add Folder....

13 голосов
/ 17 января 2012

Щелкните правой кнопкой мыши на Project -> Properties -> Project Facets, затем выберите все аспекты, которые подходят для вашего случая (например, Java).

8 голосов
/ 10 января 2017

mvn eclipse: eclipse создаст необходимые файлы .project, которые добавят Java-свойства и другие свойства в проект

4 голосов
/ 29 октября 2014

Я столкнулся с той же проблемой, и приведенные ниже шаги решили ее в моем случае:

1- Откройте pom.xml проблемного проекта.

2 - На вкладке обзора проверьте параметры Артефакта / Упаковки.

3 - Если установлено значение «pom», измените его на «jar».

4- Сохраните ваши изменения, а затем удалите проект только из затмения и повторно импортируйте его.

Надеюсь, это поможет!

4 голосов
/ 17 января 2012

Это зависит от свойств проекта Eclipse (если вы используете Java EE), я предлагаю вам щелкнуть правой кнопкой мыши свойства проекта и посмотреть, какой аспект определен для вашего проекта.

3 голосов
/ 08 июня 2015

Я столкнулся с той же проблемой (после импорта pom.xml в eclipse проект не рассматривается как java, и в свойстве builders проекта присутствует только "maven project builder", но нет "java builder") в eclipse луна.

Повторный импорт проекта maven после удаления папки «.settings» и файла «.project» не сработал. Повторный импорт после того, как у меня сработал переключатель рабочей области.

1 голос
/ 18 января 2012

Я разговаривал с коллегой и смог «решить» проблему.Я сделал удаление из Eclipse (не с диска) и сразу же повторно сделал импорт Maven, и теперь он волшебным образом работает.

Похоже, что произошла ошибка с pom.xml, особенно если родительская версиябыло неправильно, что проект maven не был импортирован / создан должным образом.Как только я исправил проблемы в POM, проект без проблем заработал бы нормально, но все равно это был только проект Maven.После того, как я удалил его и повторно импортировал, ТОГДА он рассматривал его как проект Maven / AspectJ.

1 голос
/ 17 января 2012

Проверьте файл pom.xml для проектов, которые не получают природу AspectJ (AJ в проекте). Им не хватает плагина AspectJ-Maven? У них должен быть раздел как:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>aspectj-maven-plugin</artifactId>
    <executions>
      <execution>
        <goals>
          <!-- use this goal to weave all your main classes -->
          <goal>compile</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <complianceLevel>1.6</complianceLevel>
    </configuration>
</plugin>

Также взгляните на его вопрос: Проект Maven / AJDT в Eclipse

0 голосов
/ 24 апреля 2019

У меня была такая же проблема. В моем случае это был какой-то дефект в рабочем пространстве затмения. Я воссоздал его (удалил каталог .metadata), и это устранило проблему.

0 голосов
/ 15 марта 2019

Это может быть достигнуто двумя способами.

1) Изменяя характер проекта.Щелкните правой кнопкой мыши Project -> Properties -> Project Natures, затем выберите все натуры, подходящие для вашего случая (например, java).

(OR)

2) Обновив файл .projectи добавьте все природы, которые требуются для проекта.Этот файл .project находится в корневой папке проекта.Если файл не существует по какой-либо причине, создайте новый файл и добавьте разделы для каждой требуемой природы, например, следующим образом.

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
        <name>yourprojectName</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
                <buildCommand>
                        <name>org.eclipse.jdt.core.javabuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        <name>org.eclipse.wst.common.project.facet.core.builder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        <name>org.eclipse.m2e.core.maven2Builder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
        </buildSpec>
        <natures>
                <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
                <nature>org.eclipse.jdt.core.javanature</nature>
                <nature>org.eclipse.m2e.core.maven2Nature</nature>
        </natures>
</projectDescription> 
...