Eclipse: объявленный пакет не соответствует ожидаемому пакету
у меня проблема с импортом внешнего проекта. Я иду файл - > импорт... - >Существующие проекты в рабочую область, выберите папку, в которой находится проект, и все импортируется - но имена пакетов проекта, похоже, не соответствуют ожиданиям Eclipse. Все имена пакетов имеют префикс:
prefix.packagename1
prefix.packagename2
etc.
но затмение ожидает
src.prefix1.prefix.packagename1
src.prefix1.prefix.packagename2
etc. потому что каталог src / prefix1 / prefix/package1
Я не очень хотите возиться с внешним кодом. Как я могу сказать Eclipse игнорировать каталог "src / prefix1"? Или что еще я могу сделать?
11 ответов:
просто перейдите в путь сборки и исходный путь, чтобы быть
src/prefix1вместоsrc.это может быть проще всего щелкнуть правой кнопкой мыши на
srcкаталог и выберите "Build Path / Remove from build path", затем найдитеsrc/prefix1каталог, щелкните правой кнопкой мыши и выберите "построить путь / использовать в качестве исходной папки".
Я просто столкнулся с этой проблемой, и поскольку решение г-на скита не сработало для меня, я поделюсь, как я решил эту проблему.
оказывается, что я открыл файл java под ' src ' перед объявлением его исходным каталогом.
после щелчка правой кнопкой мыши по каталогу " src "в eclipse, выбрав "путь сборки", а затем "использовать в качестве исходной папки"
и снова уже открыл java файл (F5 освежающий его не сделал работа.)
при условии, что путь к java-файлу от "prefix1" и далее совпадает с пакетом в файле (пример из вопроса запросчика prefix1.префикс.packagename2). Это должно сработать
затмение больше не должно жаловаться на ' src.-
переместить ваши проблемы *.Java файлы в другую папку.
нажмите " src " пункт и нажмите "F5".
красные кресты будут диссаперар.
вернуть *.java-файлы в "путь к пакету", нажмите"src" и нажмите "F5".
все должно быть нормально.
Если вы импортировали существующий проект, то просто удалите исходные папки, а затем добавьте их снова, чтобы построить путь, и перезапустите eclipse. В большинстве случаев затмение будет продолжать показывать ошибку до перезагрузки.
происходит для меня после неудачных сборок, выполняемых за пределами IDE. Если очистка рабочего пространства не работает, попробуйте: 1) удалить все проекты 2) закрыть и перезапустить STS/eclipse, 3) повторно импортировать проекты
Я получаю эту проблему в Eclipse иногда при импорте проекта Android, который не имеет .файл пути к классам. Тот, который создает Eclipse, не совсем тот, который ожидает Android. Но, андроид .файлы классов, как правило, все относительно, поэтому я просто скопирую правильный .classpath файл из другого проекта над неправильным .путь класса. Я создал видео, которое показывает, как я это делаю:https://www.youtube.com/watch?v=IVIhgeahS1Ynto
Предположим ваш проект имеет пакет как
package name1.name2.name3.name4(объявленные пакет)ваш проводник пакетов показывает
пакет верхнего уровня с именем name1. name2
подпакеты с именем name3. name4у вас будут ошибки, потому что Eclipse извлекает имя пакета из структуры каталогов файлов на диске, начиная с точки, из которой вы импортируете.
мой случай был немного более сложным, возможно, потому, что я использовал символическую ссылку на папку снаружи мое рабочее место.
Я сначала попробовал построить путь.Путь Сборки Java.Вкладка Источник.Кнопка Источник Ссылки.Перейдите в папку перед именем 1 в вашем пакете.Папки-имя, как вам нравится (я думаю). Но были проблемы.
затем я удалил папку из пути сборки и попробовал File > Import... > Общие > файловая система > нажмите кнопку Далее > из каталога > обзор... в папку выше name1 > нажмите кнопку Дополнительно > проверьте создать ссылки в рабочей области > нажмите кнопку Готово.
перейдите в папку src проекта и скопируйте весь код из него в какое-то временное место и создайте проект. А теперь скопируйте фактический код из временного расположения в проект src. И снова запустите сборку. Проблема будет решена.
Примечание: это специфично для eclipse.
единственное, что сработало для меня, это удаление проекта, а затем его повторный импорт. Работает как шарм :)
У меня была такая же проблема только сейчас. Однако первые несколько ответов не работают для меня.Я предлагаю решение:изменить .путь к классу.Например,вы можете определить путь к узлу classpathentry вот так: path= " src / prefix1 / java" или path= "src / prefix1 / resources". Надеюсь, это поможет.
- щелкните правой кнопкой мыши на внешней папке, которая имеет пакет
src.prefix1.prefix.packagename1 src.prefix1.prefix.packagename2
щелкните путь сборки -- > удалить из пути сборки.
Теперь перейдите в папку prefix1 в разделе папки вашего проекта.
щелкните правой кнопкой мыши на нем -- > построить путь -- > использовать в качестве исходной папки.
сделано. Папка пакета теперь не будет показывать никаких ошибок. Если он все еще показывает, просто перезапустите проект.
Comments