2016-06-30 3 views
0

Я попытался перезаписать JSP через модуль. Модуль развернут, но он не имеет никакого эффекта. Я пытаюсь перезаписать create_account.jsp. Моя bnd.bnd выглядит следующим образом:Liferay 7 jsp hook module не работает

Bundle-Version: 1.0.0 Fragment-Host: com.liferay.login.web;bundle-version="1.0.5" -sources: true

Мой модуль синхронизируется с сервером. Я использую режим разработки и Liferay 7.0.1 GA2.

create_account.jsp находится по следующему пути:

/test-module/src/main/resources/META-INF/resources/create_account.jsp

Любые идеи, почему это не работает?

Состояние моего портлета установлено. Я могу сделать compileJSP taks, и он изменяется на , разрешенный. Я думаю, что это должно быть активное, как и все остальные модули.

Я также не могу разрешить переменные из JSP, которые находятся в других JSP-файлах. Например: PropsValues ​​. Может быть, что есть неправильные/отсутствующие зависимости в build.gradle? dependencies { compile group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "2.0.0" compile group: "com.liferay.portal", name: "com.liferay.util.taglib", version: "2.0.0" compile group: "javax.portlet", name: "portlet-api", version: "2.0" compile group: "javax.servlet", name: "servlet-api", version: "2.5" compile group: "jstl", name: "jstl", version: "1.2" compile group: "org.osgi", name: "org.osgi.compendium", version: "5.0.0" }

Я построил проект отверстия снова без IDE, и у меня такая же проблема. Когда я пытаюсь развернуть его, возникает ошибка. Но он по-прежнему развертывается на сервере с установленным .

PS C:\DEV\Git\faberplace-workspace\modules\com.clavisit.registration.hook.jsp> blade deploy 
:modules:com.clavisit.registration.hook.jsp:compileJava UP-TO-DATE 
:modules:com.clavisit.registration.hook.jsp:buildCSS UP-TO-DATE 
:modules:com.clavisit.registration.hook.jsp:processResources UP-TO-DATE 
:modules:com.clavisit.registration.hook.jsp:transpileJS SKIPPED 
:modules:com.clavisit.registration.hook.jsp:configJSModules SKIPPED 
:modules:com.clavisit.registration.hook.jsp:classes UP-TO-DATE 
:modules:com.clavisit.registration.hook.jsp:jar 
:modules:com.clavisit.registration.hook.jsp:assemble 
:modules:com.clavisit.registration.hook.jsp:build 

BUILD SUCCESSFUL 

Total time: 5.486 secs 
stop 482 
org.osgi.framework.BundleException: Invalid operation on a fragment. 
update 482 file:/C:/DEV/Git/faberplace-workspace/modules/com.clavisit.registration.hook.jsp/build/libs/com.clavisit.regi 
stration.hook.jsp-1.0.4.jar 
Updated bundle 482 
start 482 
org.osgi.framework.BundleException: Invalid operation on a fragment. 
Error 
    0. [DeployCommand.installOrUpdate] aQute/bnd/header/Parameters 

Когда я скопировать JAR после клинка развернуть в папку развертывания, состояние меняется на решен.

Это та же проблема, как здесь: Deploying an osgi bundle (jsp hook) in liferay 7

Дальнейшая информация:

Я работаю на окнах.

Журнал говорит follwing, когда я развертывания:

07:05:43,732 INFO [com.liferay.portal.kernel.deploy.auto.AutoDeployScanner][AutoDeployDir:252] Processing blade.hook.jsp-1.0.0.jar 
07:05:51,904 INFO [Refresh Thread: Equinox Container: b0a1d0af-1044-0016-189b-a4fba6a2d683][BundleStartStopLogger:38] STOPPED com.liferay.login.web_1.0.5 [219] 
07:05:52,494 INFO [Refresh Thread: Equinox Container: b0a1d0af-1044-0016-189b-a4fba6a2d683][BundleStartStopLogger:35] STARTED com.liferay.login.web_1.0.5 [219] 

И это выглядит как на следующем рисунке:

Login Screenshot

ответ

0

фрагмент никогда не активируется. Он прикреплен к хост-модулю в момент, когда хост-модуль разрешен. Похоже, что одна из проблем, которую вы решаете, решается путем ручного копирования фрагмента JAR в папку deploy Liferay, правильно? Одна вещь, которую вы могли бы сделать, чтобы убедиться, что фрагмент прикрепляется к хосту, - из оболочки gogo, введите refresh [идентификатор узла хоста]. Не совсем уверен, но это должно заставить хозяина забрать фрагмент.

Кроме того, проверить blade.hook.jsp образец здесь: https://github.com/liferay/liferay-blade-samples/tree/master/gradle/blade.hook.jsp

Файл build.gradle только версия набора для версии 1.0.0, и в bnd.bnd, в дополнение к тому, что у вас есть в вашей, включает в себя

-jsp: *.jsp,*.jspf 
-plugin.jsp: com.liferay.ant.bnd.jsp.JspAnalyzerPlugin 

Я бы начал там.

Edit обратиться комментарий: Я протестировал проект liferay-blade-samples фрагмент из командной строки, выполнив следующие действия:

  1. Перейдите к Liferay-лопастного samplesclone и в Gradle/blade.hook.jsp и строить проект.
  2. Скопируйте JAR в мою папку Liferay CE GA2 deploy. Я вижу это в журнале:

15:26:51,185 INFO [com.liferay.portal.kernel.deploy.auto.AutoDeployScanner][AutoDeployDir:252] Processing blade.hook.jsp-1.0.0.jar 15:26:59,253 INFO [Refresh Thread: Equinox Container: 10c85452-c442-0016-189b-ada8a71b73c4][BundleStartStopLogger:38] STOPPED com.liferay.login.web_1.0.5 [171] 15:26:59,659 INFO [Refresh Thread: Equinox Container: 10c85452-c442-0016-189b-ada8a71b73c4][BundleStartStopLogger:35] STARTED com.liferay.login.web_1.0.5 [171]

СПЯ просто делает это:

<p style="color: red">changed</p>

И я вижу красный текст «изменился», когда я подписываю из Liferay и затем нажмите Войти. Это работает для вас?

+0

Спасибо Russ Bohl С Refresh - отличный способ изменить статус с установленного на разрешенный. Я добавил две строки, но ничего не изменил. Я также попытался построить 2 образца проекта, но они тоже не работали для меня. Есть идеи? –

+0

См. Мое редактирование: было слишком долго, чтобы добавить комментарий. –

+0

Я отредактировал мой вопрос. Мой журнал выглядит как ваш, но логин выглядит как без крючка. На какой ОС вы работаете? Я работаю над окнами –