Мой первый портлет не отображается на панели инструментов liferay. При активации он выдает ошибку - PullRequest
0 голосов
/ 27 апреля 2020

Файл Build.Gradle:

dependencies {
    compileOnly group: "com.liferay", name: "com.liferay.asset.taglib", version: "4.0.15"
    compileOnly group: "com.liferay", name: "com.liferay.comment.taglib", version: "2.0.7"
    compileOnly group: "com.liferay", name: "com.liferay.frontend.taglib", version: "4.0.15"
    compileOnly group: "com.liferay", name: "com.liferay.frontend.taglib.dynamic.section", version: "2.0.1"
    compileOnly group: "com.liferay", name: "com.liferay.frontend.taglib.form.navigator", version: "3.0.5"
    compileOnly group: "com.liferay", name: "com.liferay.frontend.taglib.util", version: "2.0.2"
    compileOnly group: "com.liferay", name: "com.liferay.journal.taglib", version: "3.0.1"
    compileOnly group: "com.liferay", name: "com.liferay.layout.taglib", version: "4.0.8"
    compileOnly group: "com.liferay", name: "com.liferay.site.taglib", version: "2.0.1"
    compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "4.0.0"
    compileOnly group: "com.liferay.portal", name: "com.liferay.util.taglib", version: "4.1.0"
    compileOnly group: "javax.portlet", name: "portlet-api", version: "3.0.0"
    compileOnly group: "javax.servlet", name: "javax.servlet-api", version: "3.0.1"
    compileOnly group: "jstl", name: "jstl", version: "1.2"
    compileOnly group: "org.osgi", name: "org.osgi.service.component.annotations", version: "1.3.0"

    cssBuilder group: "com.liferay", name: "com.liferay.css.builder", version: "3.0.2"
}

` Версия сервера Liferay: liferay-ce-portal-7.3.1-ga2 Версия Liferay Developer Studio: 3.8.0.202002250521-ga1

Когда я выполняю этот шаг, т.е. Панель управления> Диспетчер приложений> Найти созданный портлет> Активировать, я получаю сообщение об ошибке ниже. Пожалуйста, помогите мне выйти из этой проблемы

Журнал ошибок:

2020-04-28 00:55:45.121 ERROR [http-nio-8080-exec-4][PortletServlet:119] javax.portlet.PortletException: org.osgi.framework.BundleException: Could not resolve module: MyFirstPortlet [2280]_  Unresolved requirement: Import-Package: com.liferay.portal.kernel.portlet.bridges.mvc; version="[2.0.0,3.0.0)"_ [Sanitized]
javax.portlet.PortletException: org.osgi.framework.BundleException: Could not resolve module: MyFirstPortlet [2280]_  Unresolved requirement: Import-Package: com.liferay.portal.kernel.portlet.bridges.mvc; version="[2.0.0,3.0.0)"_ [Sanitized]
    at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:192)
    at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:395)
    at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:88)
    at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:248)

1 Ответ

0 голосов
/ 29 апреля 2020

Проблема в одной из версий зависимостей, которые вы настроили в build.gradle. Что происходит, так это то, что ваша среда сборки использует версии, объявленные в вашем build.gradle, но во время выполнения ваш модуль не находит совместимые версии библиотек, от которых он зависит. Таким образом, его нельзя развернуть.

При условии, что вы работаете с Liferay Workspace (т.е. ваш портлет находится в подкаталоге modules), самый простой способ обойти это - использовать его "целевую платформу". ": Отредактируйте gradle.properties вашего рабочего пространства Liferay (на верхнем уровне) и убедитесь, что в нем есть строка, обозначающая версию, на которую вы нацелены:

liferay.workspace.target.platform.version = 7.3.1

Кроме того, проверьте оставшуюся часть файла, она указывает на соответствующий комплект, и вы должны быть последовательными.

Когда вы это сделаете, удалите объявления версий из вашего build.gradle, так как они будут автоматически извлечены из соответствующей среды выполнения. После обновления среды выполнения до следующего выпуска GA вам может потребоваться снова обновить целевую версию.

...