Что подразумевается под «несвязанной» библиотекой или контейнером пути к классам в Eclipse? - PullRequest
8 голосов
/ 26 мая 2011

Хотя недавно импортированный новый проект был добавлен в Eclipse, однажды, когда я попытался добавить библиотеку GROOVY_SUPPORT, она выглядела как «несвязанная» с ошибкой-X, например:

Он также не появился в проводнике пакетов, как я ожидал.

Что именно это означает?Затмение не сообщило ни о каких других ошибках.Все, что у меня есть, это red-X и несвязанное сообщение.

Мне удалось это исправить, перебирая вещи (в частности, удаляя и повторно добавляя природу Groovy), пока она не исчезла, но мне любопытноо том, что на самом деле происходит.

Ответы [ 3 ]

3 голосов
/ 27 мая 2011

Обычно это означает, что classpathentry в .classpath не может быть разрешен. Я обычно вижу это при открытии проекта, который был создан / обновлен с помощью другого плагина (или версии), определяющего несвязанный контейнер classpath.

Если вы сравните файл .classpath с тем, когда он был не привязан после устранения проблемы, вы увидите разницу.

Устранение проблемы, как вы это сделали (удаление несвязанного содержимого и повторное добавление, как вы делали это с помощью природы Groovy), - это простой способ решения проблемы. Одно предостережение: если вы являетесь частью команды, работающей над проектом, и у вас возникла эта проблема, то было бы неплохо убедиться, что все члены команды работают в одной и той же версии IDE.

1 голос
/ 09 мая 2012

Я только что столкнулся с этой проблемой.Оказывается, я не установил функции Groovy Eclipse SDK.Как только я установил их, GROOVY_SUPPORT больше не был отключен, и все заработало.

enter image description here

0 голосов
/ 23 августа 2015

Обнаружено на Eclipse 4.5 Mars и GRECLIPSE 2.9.2

У меня было несколько проектов Groovy, импортированных до установки GRECLIPSE (но компилятор Groovy находился в пути и был установлен GROOVY_HOME)

После установки GRECLIPSE проекты не будут компилироваться. Итак, перейдите к

Свойства проекта через раскрывающееся меню> Путь сборки Java> Библиотеки> Добавить библиотеку

И добавить «GROOVY SUPPORT» вручную. Проект компилируется, но:

GROOVY_SUPPORT (unbound)

Эта запись не может быть удалена, потому что это делает невозможной компиляцию. Итак, перейдите на

Свойства проекта через выпадающее меню> Groovy> Удалить Groovy Nature

"Вы также хотите удалить заводные банки времени выполнения из проекта FOO?" ДА

и круг вокруг:

Свойства проекта через выпадающее меню> Конфигурировать> Преобразовать в Groovy Project

Все компилируется как раньше.

Это изменило библиотеки:

Different now

Содержимое ".classpath" изменилось с:

<classpathentry exported="true" kind="con" path="GROOVY_DSL_SUPPORT"/>
<classpathentry kind="con" path="GROOVY_SUPPORT"/>

до

<classpathentry exported="true" kind="con" path="GROOVY_SUPPORT"/>
<classpathentry exported="true" kind="con" path="GROOVY_DSL_SUPPORT"/>

Содержимое ".project" не изменилось.

<natures>
   <nature>org.eclipse.jdt.groovy.core.groovyNature</nature>
   <nature>org.eclipse.jdt.core.javanature</nature>
</natures>
...