Неверное имя пакета при использовании автоматически добавленных импортов в Eclipse - PullRequest
24 голосов
/ 22 декабря 2010

У меня есть несколько проектов Maven, преобразованных в одно рабочее пространство Eclipse. Когда я редактирую код в Eclipse, я иногда использую комбинацию клавиш CTRL + SHIFT + M для автоматического добавления импорта в классы из проекта в моей рабочей области , Но как-то они добавляются так:

import src.main.java.com.mycompany;

в то время как в реальный пакет, который я хотел импортировать, com.mycompany. Это должно быть какая-то конфигурация в Eclipse, чтобы исправить это, но я запутался. Однако эта проблема очень раздражает.

EDIT:

Я забыл упомянуть, что файлы Eclipse были созданы с помощью команды mvn eclipse:eclipse.

Под Eclipse проект, похоже, настроен правильно. Его исходные папки установлены так:

  • src / test / java
  • SRC / тест / ресурсы
  • SRC / Main / Java
  • SRC / основные / ресурсы

И все в Eclipse работает правильно, кроме ситуации, когда я нажимаю CTRL + SHIFT + M клавиши

Ответы [ 6 ]

43 голосов
/ 22 декабря 2010

Стандартная исходная папка для проектов Java:

./src

Для импортированных проектов maven просто удалите эту папку из списка исходных папок в настройках пути сборки. Правильная исходная папка

./src/main/java
17 голосов
/ 22 декабря 2010

В затмении;

Сначала удалите существующие исходные папки. - щелкните правой кнопкой мыши -> меню -> путь сборки -> удалить из пути сборки

тогда

Щелкните правой кнопкой мыши исходную папку. путь сборки -> использовать в качестве исходной папки.

Похоже, ваши настройки указывают на родителя исходной папки, поэтому по затмению src распознается как пакет.

4 голосов
/ 22 декабря 2010

Это потому, что Eclipse не знает о соглашении о конфигурации Файловая структура, которой придерживается Maven.Установите плагин M2Eclipse и File > New > Other > Maven Project для новых или уже существующих проектов. Щелкните правой кнопкой мыши по импортированному проекту на Package Explorer> Maven > Enable Dependency Management.После успешного завершения в обозревателе пакетов вы увидите, что ваш проект прекрасно собран в соответствии с традиционной файловой структурой Maven, такой как src/main/java, src/main/resources, src/test/java, и с этого момента вы начнете видеть иерархию структуры пакета, такую ​​как com.mysite.myproject..

3 голосов
/ 18 февраля 2012

Сначала удалите его.Затем добавьте его обратно, используя правый клик на package-> path build-> configure path build-> Source-> Add Folder и добавьте все дерево / src / main / java

0 голосов
/ 18 января 2017

Ни один из вышеперечисленных работал для меня. Наконец, я просто изменил имя папки scr на scr-java, и это удалило структуру пакета с scr в качестве корневого пакета.

0 голосов
/ 22 декабря 2010

У вас неправильные исходные папки в пути сборки, и удивительно, что все работает вообще.

Вы можете использовать либо maven-eclipse-plugin, либо M2Eclipse, чтобы автоматизировать получение этого права, или вы можете вручную исправить путь сборки, чтобы называть наши действительные исходные папки, а не их пра-прародителей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...