Недавно я начал разработку Liferay и следую официальному руководству для разработчиков, но у меня возникают проблемы при попытке развернуть простой модуль hello world.
Когда я пытаюсь развернуть модуль, консоль Eclipse показывает следующее исключение:
org.osgi.framework.BundleException: Could not resolve module: com.liferay.docs.guestbook.portlet [1000]_ Unresolved requirement: Require-Capability: osgi.ee; filter: = "(osgi.ee=UNKNOWN)"_ [Sanitized]
Я застрял на этом этапе и не знаю, что делать. Я пытался использовать разные версии Eclipse, я пытался изменить путь сборки Java проектов, чтобы использовать JRE 1.8, я пытался удалить проект и создать новый...
Я также использовал команду «ss» для вывода списка модулей, но, видимо, моего модуля нет в списке.
У меня Ubuntu 18.04 и сборка Eclipse 2018-12.
Спасибо.
Я использую Eclipse с плагином Liferay. Я создал проект рабочего пространства Liferay («Файл» > «Создать» > «Проект рабочего пространства Liferay»), а затем внутри этого проекта я создал проект модуля Liferay. Я сделал так же, как здесь: dev.liferay.com/es/develop/tutorials/-/knowledge_base/7-1/…
Не могли бы вы убедиться, что в вашей среде не используется Java 10 (запуск, затмение, выполнение задач gradle и т. д.). В противном случае вам может потребоваться обновить версию плагина bnd.
Я установил пути сборки рабочего пространства и модуля для JavaSE-1.8.




Задача решена.
Я использовал Eclipse + Liferay на виртуальной машине Ubuntu, затем переключился на свою хост-машину (W10) и установил Oracle JDK, и модуль был развернут правильно.
Итак, я предполагаю, что проблема заключалась в использовании JRE вместо полного JDK.
Как вы создали и построили свой модульный проект? Используете ли вы Blade CLI и рабочее пространство liferay. У вас есть плагин для Eclipse или вы запускаете сборку Gradle внутри IDE? То, что упоминается как UNKNOWN в вашем фильтре, обычно является версией Java (в моем случае:
osgi.ee;filter: = "(&(osgi.ee=JavaSE)(version=1.8)))