Как избежать ошибки "Ошибка пакета" в IntelliJ IDEA?

Я создал новый проект Maven с использованием архетипа CQ5 и импортировал его в IntelliJ IDEA. IntelliJ помечает использование некоторых классов, таких как org.apache.felix.annotations.Component, org.apache.felix.annotations.Reference и т.д. IntellIJ, как ошибочное со следующим сообщением об ошибке:

The package is not exported by the bundle dependencies

IntelliJ OSGi Error Message

  1. Это допустимая ошибка?
  2. Как я могу это исправить (в отличие от отключения проверки)?

Ответ 1

Я использую версию 12.1.4

  • Ошибка кажется законной. Я не могу найти этот пакет в ACQ 5.6.1 Doc.

  • Я отключу проверку:

    • Щелчок правой кнопкой мыши по блоку на правом поле.
    • Нажмите "Настроить уровень выделения".
    • Приведите слайдер в положение "Нет".

Ответ 2

Вы экспортируете эти пакеты как часть определения пакета? В проекте maven у вас должен быть плагин maven bundle с <Export-Package>your.packages.here</Export-Package>. Включены ли эти пакеты в это определение? Если нет, эти службы фактически не будут доступны в OSGi.

Ответ 3

В моем случае я случайно "настроил OSGi", когда мне только хотелось настроить Spring. То, как я столкнулся с этой проблемой, - это щелкнуть правой кнопкой по правильному краю на одной из затронутых строк, нажав "Настроить уровень выделения" → "Настроить проверки". Я думаю, что решение hippoLogic избавит вас от всех выражений на уровне синтаксического уровня, а также поможет выделить подсветку на уровне инспекции. Таким образом вы можете просто настроить последнюю, чтобы исключить OSGi.

Было бы еще лучше отключить OSGi (который я еще не исследовал), но здесь быстрое/грязное исправление, чтобы уменьшить шум выделения.

Ответ 4

Чтобы исправить эту проверку, если соответствующие зависимости присутствуют в файле pom, в вашем случае я думаю, что он должен присутствовать, поскольку вы просто импортировали их из eclipse, где он не выдавал никаких ошибок. Также проверьте, правильно ли указан параметр settings.xmml, и находится в правильном месте, а правильный - от intellij. ваш файл settings.xml присутствует в доме maven или может быть представлен как символическая ссылка в доме maven. Надеюсь, это поможет.

Ответ 5

Я работаю над клоном проекта из github, он не имеет отношения к OSGI, поэтому я думаю, что это ошибка идеи или я случайно включился. Тогда я предполагаю, что особенность OSGI в работе над идеями зависит от плагина. Отключите плагин OSGI, сообщение об ошибке исчезнет.

в Mac OS:

команда + shift + a, плагин типа

поиск "OSGI", затем отключите этот плагин.