Помилка затемнення: "Імпортувати XXX не можна вирішити"


135

Я намагаюся працювати зі сплячим режимом в Eclipse. Я створюю новий простий проект, і я теж завантажив колективний проект через CVS. Обидва не працюють, тоді як на Затемнення мого колеги роблять. Проблема полягає в тому, що для кожного імпорту класу зимування Eclipse говорить:

The import org.hibernate cannot be resolved

Але всі сплячі банки перебувають на шляху збирання, тобто:

antlr-2.7.6.jar
cglib-2.2.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
slf4j-api-1.6.1.jar

1
як ви додали ці баночки у свій шлях нарощування?
Jigar Joshi

3
за властивостями> Шлях до збірки Java> Бібліотеки> Додати зовнішні JAR
синюватий


1
Якщо це спрацювало, а їх зараз немає, дивіться відповідь @dogbane нижче ...
Shanimal

перевірте, чи немає місця у папці імпорту. якщо є пробіл, видаліть простір та імпортуйте проекти на затемнення.
schin chan

Відповіді:


283

Спробуйте очистити проект, перейшовши до наступного пункту меню:

Project > Clean...

Якщо це не працює, спробуйте вийняти банки зі шляху збирання та додайте їх знову.


5
може бути проблемою JRE. Спробуйте вибрати "альтернативний JRE" у властивостях проекту.
dogbane

10
Чистий теж працював на мене. Що саме трапляється (все просто раптово зашкльовується) і як Clean допомагає?
Saber Runner

1
Це вирішило проблему і для мене; це не сплячий проект, а libGdx , який називає мій імпорт java, а не банки. Те саме цікавить @SabreRunner, а також: десь в інструментах навколишнього середовища є помилка?
Зак

3
Працював і для мене. Це дуже засмучує, коли в контекстному довідковому меню ви знайдете свій клас і вручаєте той самий імпорт над тими
позначками, як

1
Цей спосіб НЕ допомагає в моєму випадку. Моя версія Eclipse: Neon.3 Release (4.6.3)
Тимофій.Лі

27

Очевидно, бувають випадки, коли є вагома проблема, проте Eclipse іноді видаляє цю помилку без поважних причин.

Це все-таки (2019-03) - це стара помилка Eclipse (2010), яку можна усунути, змінивши налаштування проекту незначно.

Я вибрав змінити параметр: Проект> Властивості> Шлях збірки Java> Замовлення та експорт> внести безглузді зміни порядку> Застосувати.

Зміна замовлення назад не призводить до проблеми. Просте торкання файлу також може вирішити проблему (я тестую торкнення наступного разу).


1
Файл> Властивості слід змінити на Проект> Властивості.
Тимофій.Лі

Цей спосіб НЕ допомагає в моєму випадку. Моя версія Eclipse: Neon.3 Release (4.6.3)
Тимофій.Лі

Для мене системна бібліотека JRE повинна була перевищувати залежність Maven на вкладці Порядок складання та експорт.
Ентоні Хейвард

2
Цьому клопу зараз не менше 9 років.
користувач1133275

Це все ще там, листопад 2019. Sheesh.
Tullochgorum

22

Очистіть проект. І двічі перевірте, чи банки дійсно знаходяться на шляху збирання (без помилок). Також переконайтесь, що у вікні "Проблеми" нічого немає.


Я вже не раз пробував це: з окремими банками, всередині бібліотеки, ... Здається, це дивна помилка!
синюватий

1
чи є у вас що-небудь у поданні Проблеми?
Божо

Тільки проблеми, про які я розповідав, і попередження типу "Серіалізаційний клас Azienda не оголошує статичне кінцеве поле serialVersionUID типу long".
синюватий

18

Я знайшов проблему. Це була сплячка3.jar. Я не знаю, чому він не був добре вилучений із .zip, можливо, корумпований . Хороший спосіб перевірити, чи є банки пошкодженими чи ні, - це навігація по їх деревній структурі у "Project Explorer" у Eclipse: якщо ви не можете розгорнути вузол jar, можливо, він пошкоджений. Я бачив, що з корумпованими пакунками часто буває, коли ви перетягуєте їх до "Провідника проектів". Можливо, краще перемістити та скопіювати їх у середовищі ОС! Дякую вам всім.


17

Якщо проект Maven, також натисніть на Maven >> Оновити проект ... (F5)

Оновити проект Maven


Якщо ви імпортуєте проект maven як "проект Java", тоді ця проблема виникає. Перетворіть проект на Maven-проект та оновіть, як ви сказали, тоді проблеми вже немає.
kodmanyagha

8

Я вирішив це, видаливши проект (не видаляйте на диску) та імпортувавши його знову.


8
  1. проект чистих проектів -> чистий ...
  2. Клацніть правою кнопкою миші на проект -> BuildPath -> Налаштування BuildPath -> вкладка Бібліотеки ->

Двічі клацніть БІБЛІОТЕКА СИСТЕМИ JRE -> Потім виберіть альтернативний JRE


6

У мене була проблема, що класний шлях якось зламали.

Тож клацніть правою кнопкою миші на проект в Explorer Explorer> Плагінні інструменти> Оновити classpath ... зробив це для мене


У програмі Neon.3 Release (4.6.3) немає інструментів для підключення у контекстному меню, клацнувши правою кнопкою миші на проекті в програмі Package explorer
Timothy.Li,

6

Я вирішив цю проблему, оновивши проект: клацніть правою кнопкою миші на проект Maven, виберіть Maven -> Update Project -> встановіть прапорець Примусити оновлення знімків / релізів.



3

Зі мною це допомогло змінити рівень відповідності компілятора . З незрозумілих причин було встановлено 1,6, а я змінив його на 1,8.

Одного разу на рівні проекту натисніть правою кнопкою миші на проект> Властивості> Компілятор Java, тоді як у Eclipse натисніть на меню Вікно> Налаштування> Java> Компілятор.


3

Я спробував усі відповіді вище, але не пощастило. У моєму випадку існує створена папка збірки / класи з деякими додатковими файлами ".class". Я закінчився переходом до провідника пакунків, клацнувши правою кнопкою миші на проект і вибравши опцію «Оновити», завдяки чому папка збірки / класи знову стала доступною для вирішення проблеми.


3

Це вирішило моє питання.

1) проект чистих проектів -> чистий ...

2) Клацніть правою кнопкою миші на проект -> BuildPath -> Налаштування BuildPath -> вкладка Бібліотеки -> Двічі клацніть на бібліотеці системи JRE SYSTEM -> Потім виберіть альтернативний JRE

3) Клацніть Зберегти

4) Знову перейдіть до свого проекту в Explorer Explorer і клацніть правою кнопкою миші на проект -> BuildPath -> Налаштування BuildPath -> вкладка Бібліотеки -> Двічі клацніть на Бібліотеці системи JRE SYSTEM -> На цей раз виберіть "Середовище виконання"

5) Застосувати


2

У моєму випадку це була розбита банка в сховищі Maven. Видаліть файли jar із сховища та нехай Maven завантажує їх знову.

Коли я бігав mvn clean installз командного рядка, він працював нормально, але Eclipse все ще не міг скласти код. Коли я забіг maven installу Eclipse, то побачив, що Мейвен скаржився на поганий файл банку. Тож я її видалив і побіг maven installзнову. Проблеми не було.


2

Для того, щоб завантажити неіснуючий файл jar у свій .m2 каталог, слід запустити mvn clean installкоманду для свого проекту pom.xml. Потім слід оновити залежності проекту, натиснувши його Alt+F5. Це працює для мене!


2

Видалення "module-info.java" вирішило проблему для мене!

Цей файл автоматично генерується і відображається в моїй ієрархії ...


1

У мене була така ж проблема, тому що я додав створену мною банку, де я встановив базовий каталог упаковки, відмінний від базового каталогу класів. В результаті клас, наприклад, java.util.Listдовелося імпортувати якutil.List запропонований імпорт був першим.

Перевірте імпортовані банки в бібліотеках, на які вони посилаються, щоб переконатися, що вони імпортовані правильно


1

Я не розумів причин цього, але це вирішило ту саму проблему, з якою я стикався. Вам можуть знадобитися ці кроки перед виконанням кроків, зазначених у вищезгаданих рішеннях (Очистіть усі проекти та складіть автоматично).

клацніть правою кнопкою миші проект -> Властивості -> Грані проекту -> виберіть Java -> Застосувати


1

Щоразу, коли ви стикаєтеся з цією проблемою, просто перейдіть до проекту> Очистити, а потім виберіть «Очистити всі проекти». Це має вирішитись, інакше спробуйте видалити ці банки та додайте їх знову. Останнє - спробувати перезапустити Eclipse.


1

пом.хмл

Якщо це проект Maven, перейдіть до pom.xml і видаліть усі банки залежностей. Збережи це. Проект автоматично будується.

Потім знову додайте банки залежностей (ви можете зробити Ctrl+ Z). Збережи це. Проект буде автоматично створений, і ви не побачите цієї помилки.


1

Видаліть залежність у своєму POM.XML та завантажте банку та додайте її на buildpath.

колись -> maven не відображатиме нових змін, і це може спричинити подібні проблеми


0

Спробуйте перевірити, чи всі губки на місці. У мене було те саме питання. Але я вирішив це, перемістивши папку lib і знову додавши всі банки на шляху збирання.


0

У мене така ж проблема. Я завантажив банку і додав її до шляху збірки, але я не помітив, що розширення було .jar.zip. Я знову перетворив його на .jar і додав до шляху збірки.

Це вирішило мою проблему. Це дуже нерозумна помилка, але я написав її тут на випадок, якщо це може комусь допомогти.


0

Якщо ви працюєте з Maven і маєте цю проблему, перевірте сервер сховища (наприклад, сервер nexus), чи артефакт є. Іноді вони можуть змінити назву артефакту, і ви намагаєтесь отримати артефакт зі старою назвою.


0

Вирішено шляхом посилання на джерело. Клацніть правою кнопкою миші на досліднику проект, виберіть властивості, виберіть Java Build Path, виберіть Джерело з вкладок, натисніть кнопку "LinkSource". І вказавши папку, яку потрібно додати до проекту.


0

Я також не міг імпортувати. Мені потрібні кілька годин, щоб зрозуміти, що я намагався використовувати 1,6-бібліотечну / банку, при цьому намагався зібрати для 1.8. Коли я переключив проект також на використання 1.6, проблема з імпортом пішла. Усі повідомлення про помилки призводили до неправильних напрямків. Якраз у джерелі я знайшов деякі обмеження, спрямовані на версію 1.6. І: Наприклад, .settings і .classpath (пошук файлів) -> org.eclipse.jdt.core.compiler.codegen.targetPlatform = 1.6 можуть дати підказку щодо таких питань.


0

Я зіткнувся з тією ж проблемою, і я вирішив її, видаливши банку, яку двічі додавали в двох різних залежностях від мого pom.xml. Видалення однієї із залежностей вирішило це питання.


0

Для мене здавалося, що я додаю неправильний рівень папки бібліотеки. Я скачав HTML Parser Jericho , розпакував його eclipse-workspace/libraries/jericho-html-3.4/

Потім, додаючи це як папку зовнішньої бібліотеки, фокус полягав у тому, щоб перейти до цієї папки, виділити папку «класи» та натиснути Open. Раніше я намагався додавати батьківські та різні рівні підпапок, і це не спрацювало.

Це в значній мірі пояснено тут , це говорить

Ви також можете додати папку класу , каталог, що містить файли класу Java, які не є JAR.

Тут для мене є два уроки, вибачення, якщо вони поза темою:

  1. Уважно читайте інструкцію - як у кожному слові!

  2. Не здавайся - це я перший раз, коли я додаю бібліотеку, мені знадобилося близько двох годин, щоб додати її.


0

Рішення для EElipse IDE

У моєму випадку я виправив це, виправивши один із цих двох файлів, які можуть бути пошкодженими: .classpath або .project .

Щоб відновити будь-якого з пошкоджених файлів, ви можете скопіювати з іншого проекту , який має як .project файл або .classpath файл в питанні і є безпомилковим. Але не забудьте додавати додаткові налаштування, які не використовуються.


0

[ Робота кадру запалювача з кодом ] [ Бібліотека імпорту ]

Спробуйте клацнути правою кнопкою миші на проект у вікні Project Explorer, виберіть оновити . Всі маркери помилок несподівано пішли на мій випадок.


Мені не добре в Eclipse. Я почав використовувати Android Studio для розробки Android. Але прикро бачити червоні маркери помилок, що колись увесь час, поки весь проект усе ще працює. Сталося зі мною, коли я використовую композитор для імпорту бібліотеки так:

require __DIR__ . '/../../vendor/autoload.php';

use \Firebase\JWT\JWT;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.