Ошибка Eclipse: косвенно ссылается на требуемые файлы .class?

Я получил ошибку в Eclipse. Что означает это сообщение об ошибке:

The type iglu.ir.TermVector cannot be resolved. It is indirectly referenced from required .class files 

Это означает: «Класс, который вы используете, требует другого classа, который не находится в пути к classам». Вы должны убедиться (как предлагает Гарри Джой), чтобы добавить требуемую банку в путь к classам.

Вероятно, это связано с тем, что Eclipse запутывается, поскольку это фактическая ошибка. Я проигнорировал эту ошибку и запустил веб-службу, чья endpointInterface она жаловалась, и она работала нормально, за исключением того, что приходилось иметь дело с диалогом каждый раз, когда я хотел его запустить. Еще одна непрозрачная ошибка, которая ничего мне не говорит.

Иногда это происходит со мной, я всегда исправлял это с помощью команды «mvn eclipse: clean» для очистки старых свойств, а затем запускал mvn eclipse: eclipse -Dwtpversion = 2.0 (для веб-проекта, конечно). Есть несколько старых свойств, которые сохраняются, поэтому затмение иногда путается.

Похоже, что это была известная проблема (ошибка 67414), которая была решена в 3.0 … кто-то прокомментировал, что это происходит и для них в 3.4.

Между тем, работа вокруг заключается в том, чтобы удалить JRE System Library из проекта, а затем добавить его обратно.

 Here are the steps: 

Перейдите в свойства проекта с ошибкой сборки (щелкните правой кнопкой мыши> Свойства)

Просмотрите вкладку «Библиотеки» в разделе «Путь сборки»

Найдите в списке «Системную библиотеку JRE» (если этого не хватает, это сообщение об ошибке не является ошибкой затмения, а проектом с неправильной настройкой)

Удалите «Системную библиотеку JRE»

Нажмите «Добавить библиотеку …», выберите «JRE System Library» и добавьте соответствующую JRE для проекта (например, «Рабочая область по умолчанию JRE»)

Нажмите «Готово» в выборе библиотеки и «ОК» в свойствах проекта, а затем дождитесь повторной сборки проекта

Надеюсь, ошибка будет решена …

У меня была эта ошибка из-за поврежденного локального репозитория maven .

Итак, чтобы исправить проблему, все, что мне нужно было сделать, это зайти в мой repository и удалить папку, в которой был указан соответствующий .jar, а затем принудительно update maven в Eclipse.

Эта ошибка возникает, когда classы в файле jar не соответствуют той же структуре, что и структура папок jar.

например, если у вас в classе файл есть пакет com.test.exam, а class.jar, созданный из этого файла classа, имеет структуру test.exam … ошибка будет выброшена. Вам нужно исправить структуру пакета вашего classа.jar, а затем включить его в путь сборки ecplipse …

Если вы все еще не можете найти что-то не так с вашей настройкой, вы можете попробовать Project -> Clean и очистить все проекты в рабочей области.

EDIT: Извините, не видел предложения verbose_mode … то же самое

Я получил это исключение, потому что eclipse работал в другой версии jdk, просто изменился на правильную, чистую и строит и работал!

Для меня это происходит, когда я обновляю свой jdk до 1.8.0_60, когда мой старый набор банок используется в течение длительного времени. Если я вернусь к jdk1.7.0_25, все эти проблемы исчезнут. По-видимому, проблема совместимости между JRE и библиотеками.

Я получил ошибку, когда я просто изменяю некоторые настройки svn и ничего в коде. Исправлена ​​ошибка при очистке проектов.

В моем случае я создал проект и сделал его minSdkVersion=9 и targetSdkVersion=17 . Я использовал автоматически созданный libs/android-support-v4.jar . Мне также пришлось использовать ActionBarActivity используя android-support-v7-appcomapt.jar . Поэтому я просто скопировал файл android-support-v7-appcompat.jar из android-support-v7-appcompat.jar android-sdk/extras/andrid/support/v7/appcompat/libs и вставил его в папку с файлами проекта. И это вызвало вышеупомянутую ошибку. Поэтому в основном мне нужно было установить файл android-support-v4.jar из android-sdk/extras/andrid/support/v7/appcompat/libs а также в папку моих проектов. По моим сведениям, файл v7.jar имел зависимости от файла v4.jar . Таким образом, ему нужен был собственный файл v4.jar , а не мой проект, автоматически созданный файл v4.jar .

Быстро и просто я исправил его таким образом (я использую версию ADT: v21.0.0-531062 в домашней версии Windows XP)

  1. Открытый файл манифеста.
  2. Изменен существующий проект minSdkVersion на то же значение, что и maxSdkVersion (советуем: может быть полезно создать новый проект и посмотреть, что это такое maxSdkVersion)
  3. Сохраните файл манифеста.
  4. Щелкните правой кнопкой мыши проект и выберите «Построить проект».
  5. Из верхнего меню: Project – Clean .. – проверьте только соответствующий проект, ниже, который я проверил. Запустите сборку сразу и создайте только выбранные проекты и нажмите ОК.
  6. откройте java-файл – НИКАКИЕ красные ошибки больше!
  7. Вернитесь к шагу 1 выше и измените значение Back minSdkVersion на его исходное значение (чтобы максимально увеличить число версий Android).

Он работал, но проблема возвращается каждые несколько дней. Я делаю то же, что и выше, и он решает и позволяет мне развиваться.

У меня был интересный случай этой проблемы с Eclipse 4.4.2. Мой проект (P1) ссылался на внешний class (проект P2) с двумя методами с тем же именем, но с разными типами аргументов:

 public static void setItem(Integer id) … public static void setItem(Item item) … 

Элемент типа содержался в третьем проекте P3, который я не хотел видеть здесь. P1 называется только первым методом:

 ExternalClass.setItem(Integer.valueOf(12345)); 

Таким образом, второй метод, который использовал class Item , не использовался, и это правда, что P3 не был в пути к classу компиляции – почему он должен быть, если он не используется.

Все еще Eclipse сказал мне

 The type ...Item cannot be resolved. It is indirectly referenced from required .class files 

Компиляция из командной строки не вызывала таких проблем. Изменение имени второго метода (не использованного здесь!) Заставило проблему уйти и в Eclipse.

В дополнение к уже предложенной причине отсутствия файла classа эта ошибка также может указывать на дубликат файла classа, eclipse сообщает об этой ошибке, когда файл classа на пути сборки использует другой class, который имеет несколько определений в пути сборки.

Поскольку вы даете нам очень мало деталей, скорее всего, то, что вы сделали, что невероятно легко совершить, заключается в том, что вместо того, чтобы идти в

Build Path > Configure Build Path > Projects

и добавив дополнительную папку проекта, вместо этого вы пошли

Build Path > Configure Build Path > Libraries

и вместо этого добавил вашу папку проекта.

Это определенно верно, если ваш код верен, но при автоматической реорганизации импорта через ctrl+space ярлык вместо ваших операторов импорта, ссылающихся на com.your.additionalproject, ваши ссылки указывают на bin.com.your.additionalproject ,

Обратите внимание на корзину. Это означает, что вы косвенно ссылаетесь на свой class, рассматривая свою структуру папок другого проекта как библиотеку, что делает вашу среду IDE делать все wokr для поиска именно того бинарного classа, о котором вы говорите.

Чтобы исправить это, удалите папку из Библиотеки и вместо этого добавьте ее на вкладке «Проекты» и реорганизуйте свой импорт. Ваш проект должен работать нормально.

Когда я использую новую версию eclipse и пытаюсь использовать предыдущее рабочее пространство, которое я использовал со старой версией eclipse, эта ошибка возникла.

Вот как я решаю проблему:

Щелкните правой кнопкой мыши мой проект в Проводнике пакетов -> Свойства -> Путь сборки Java -> Библиотеки -> Я вижу ошибку (Cross Sign) в JRE System Library. Потому что путь не найден. -> Дважды щелкните Системную библиотеку JRE -> Выберите параметр «Рабочая область по умолчанию JRE» -> Готово -> ОК. -> БУМ ЭТО РАБОТАЕТ

FYI.

В моем случае это было результатом добавления новой зависимости к моему файлу pom.xml .

Новая зависимость зависела от старой версии библиотеки (2.5). Эта же библиотека требовалась другой библиотекой в ​​моем pom.xml , но для нее требовалась версия 3.0.

По какой-то причине, когда Maven сталкивается с этими конфликтами, он просто пропускает самую последнюю версию. В Eclipse при просмотре pom.xml вы можете выбрать вкладку «Иерархия зависимостей» внизу, чтобы увидеть, как разрешаются зависимости. Здесь вы обнаружите, что библиотека (и, следовательно, class), о которой идет речь, была опущена по этой причине.

В моем случае это было так же просто, как блокировка более новой версии. Вы можете сделать это, щелкнув правой кнопкой мыши запись – есть возможность заблокировать ее в контекстном меню.

Направьте JRE на путь сборки к JDK. Это сработало для меня.

Это произошло со мной из-за транзитивных зависимостей в моих баночках

  • Плагин сценария Bash для Eclipse?
  • Как добавить перспективы в Eclipse
  • После обновления Android на Nexus до 4.2.2 Eclipse показывает целевую неизвестность для устройства?
  • Невозможно заставить Project Lombok работать над Eclipse (Helios)
  • Устройство не обнаружено в Eclipse при подключении к USB-кабелю
  • Избегание «ресурса не синхронизируется с файловой системой»
  • Как отключить сухари в Eclipse
  • Eclipse, Android, Scala легко, но все равно не работает
  • Android Hello, руководство по галерее - «R.styleable не может быть разрешен»
  • Eclipse: JVM завершена. Код выхода = 2
  • Проект Android не может ссылаться на другой проект в eclipse
  • Interesting Posts

    Как найти особенности того, что Defender обнаружил в режиме реального времени?

    Группа Laravel Eloquent по самой последней записи

    Вызов модального windows в пользовательском интерфейсе пользовательского интерфейса AngularJS с использованием JavaScript

    Как найти список возможных слов из матрицы букв

    Высота боковой панели CSS 100%

    Стеки растут вверх или вниз?

    UnicodeDecodeError при чтении CSV-файла в Pandas с Python

    Что делает Asterisk (*) в селекторе CSS?

    onHide () тип события в jQuery

    Определить файлы, которые будут удалены при удалении каталога rsync -link-dest?

    Почему оцененные ряды очень сильно отличаются по результатам phpmyadmin?

    глубокая изменчивая копия NSMutableDictionary

    У нас есть какие-либо общие функции, чтобы проверить, полностью ли загружена страница в Selenium

    INSTALL_FAILED_CPU_ABI_INCOMPATIBLE на устройстве с использованием intellij

    Когда использовать. Сначала и когда использовать .FirstOrDefault с LINQ?

    Давайте будем гением компьютера.