Scala eclipse-plugin Проект неуправляемых зависимостей ссылочных проектов, не находящихся на пути к классам после обновления с 2.9 до 2.10
Недавно я попытался обновить Scala 2.9 до 2.10 и столкнулся со следующими трудностями:
У меня есть два проекта плагинов Scala Eclipse. Первый имеет несколько неуправляемых библиотек на своем пути сборки. Этот проект компилируется и работает нормально.
Второй проект зависит от первого проекта и некоторого Java-проекта, настроенного через зависимости eclipse-plugin.
Здесь я получаю четыре не очень полезные ошибки компиляции. Трижды следующее
SBT builder crashed while compiling. The error message is 'bad symbolic reference. A signature in XSBInterRunner.class refers to term interprolog in value com.declarativa which is not available. It may be completely missing from the current classpath, or the version on the classpath might be incompatible with the version used when compiling XSBInterRunner.class.'. Check Error Log for details. de.wwu.sdpn.wala Unknown Scala Problem
Плюс еще один дамп пути к классам, который на самом деле не содержит соответствующей библиотеки.
Если я вручную добавлю отсутствующие библиотеки во второй проект, первый проект больше не будет найден. Несмотря на то, что это было ранее в пути к дампам классов.
При компиляции проектов из командной строки через SBT с использованием более или менее эквивалентной настройки все работает отлично.
Я также попытался перенастроить зависимости, чтобы не использовать механизм eclipse-plugin для управления зависимостями, но напрямую добавил другой проект в путь сборки, но это также не помогло. Повторный импорт проектов в чистое рабочее пространство также не помог.
Проблема существует как с 3.0.1, так и с ночной версией плагина scala-ide на Eclipse 4.2 и 4.3.
Есть идеи, как решить эту проблему? Есть ли способ узнать, почему библиотеки отсутствуют в пути к классам?
1 ответ
Из описания выглядит, что неуправляемая библиотека не экспортируется из первого проекта. Убедитесь, что в project properties > Java Build Path > Order and Export
, флажок рядом с библиотекой установлен. Нужно сделать банки видимыми для других проектов.