Bndtools с ломбоком содержит неизвестный контейнер

Наконец-то я закончил перемещать часть своего приложения в пакеты osgi и использовать эти пакеты в своем хост-приложении. Это работает очень хорошо!

На данный момент я очищаю свое рабочее пространство eclipse с помощью bndtools и избавляюсь от предупреждений.

Одно предупреждение, от которого я не могу избавиться:

Eclipse: The .classpath contains an unknown container: org.eclipse.jdt.USER_LIBRARY/lombok

Я использую ломбок в нескольких своих пакетах. Я просто добавил его в свойства проекта > путь сборки java > вкладка библиотеки. Отлично работает, потому что lombok - это библиотека для компиляции в eclipse. Но проблема в том, что я получаю предупреждение выше.

Я добавил несколько внешних jar-файлов (с информацией о пакете) в свой локальный репозиторий bndtools (представление репозиториев), а затем jar-файлы можно добавить в путь сборки bndtools, например gson.

Но у ломбока, похоже, нет информации о пакете osgi, поэтому добавление его в локальный репозиторий дает мне ошибку «Jar не имеет символического имени».

Конечно, я могу отредактировать lombok.jar и добавить информацию о пакете. Но мне было интересно, есть ли более чистый способ сделать это?


person Tinus Tate    schedule 13.12.2015    source источник


Ответы (1)


Предупреждение означает, что, хотя Eclipse знает, какие jar-файлы следует помещать в путь компиляции из-за контейнера lombok, автономная сборка, такая как gradle, не имеет возможности узнать, какие jar-файлы помещать в путь к классам. Таким образом, предупреждение указывает на проблему точности между сборкой в ​​Eclipse и сборкой вне eclipse.

Помещение всех JAR-файлов компиляции в инструкцию -buildpath файла bnd.bnd проекта означает соответствие между Eclipse и построением без Eclipse.

Однако вы можете удалить предупреждение с помощью инструкции -fixupmessages в вашем файле bnd.

-fixupmessages: "Eclipse: The .classpath contains an unknown container: org.eclipse.jdt.USER_LIBRARY/lombok"

person BJ Hargrave    schedule 13.12.2015
comment
Спасибо @BJ Hargrave за всю рабочую область без предупреждений! Параметр конфигурации fixupmessages помог. - person Tinus Tate; 14.12.2015