Компилятор Maven не может разрешить импорт
Я пытаюсь создать несколько продуктов eclipse с maven и tycho. В настоящее время я застрял в проблеме, когда Bundle A зависит от класса из Bundle B. Bundle B имеет структуру пакета, подобную:
a.b.c.d.e.f.Class
Когда я сейчас пытаюсь создать ИИ, получаю ошибку компиляции, которая выглядит примерно так:
import a.b.c.d.e.f.MyClass;
[ERROR] ^^^^^^^^^
[ERROR] The import a.b.c.d.e cannot be resolved
Если вы присмотритесь, вы увидите, что Maven, по-видимому, пытается разрешить неправильный пакет, поскольку он только заявляет, что не может разрешить, a.b.c.d.e
пока класс, который должен быть импортирован, фактически находится в a.b.c.d.e.f
.
Кроме того, в a.b.c.d.e
. Я пробовал как включить a.b.c.d.e
как экспортированный пакет в манифест, так и удалить его из этого списка, но ни то, ни другое не помогло.
В чем может быть проблема?
Ответы
После запуска maven с очень подробным ведением журнала я дважды проверил аргументы, которые maven (tycho) передавал компилятору JDT при компиляции Bundle A. Я заметил, что он передавал только JAR, который я добавил в путь к классам Bundle B.
Затем я заметил, что в МАНИФЕСТЕ Bundle B, где я указал Bundle-Classpath
, у меня был только JAR в пути к классам. Я думал , что ранее классы расслоения сам будет добавлены по - умолчанию, но после добавления ,.
к Bundle-Classpath
свойству сборка снова работала.
Если вы хотите узнать об этом больше, ЭТО СТАТЬЯ указал мне правильное направление.