2016-06-30 5 views
0

Ich habe versucht, eine JSP über Modul zu überschreiben. Das Modul wird bereitgestellt, hat jedoch keine Auswirkungen. Ich versuche, create_account.jsp zu überschreiben. Mein bnd.bnd sieht wie folgt aus:Liferay 7 Jsp Hakenmodul funktioniert nicht

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

Mein Modul ist mit dem Server synchronisiert. Ich benutze den Entwickler-Modus und Liferay 7.0.1 GA2.

Die create_account.jsp ist unter folgendem Pfad:

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

Irgendwelche Ideen, warum es funktioniert nicht?

Der Status meines Portlets ist installiert. Ich kann die compileJSP Aufgaben tun und es ändert sich zu aufgelöst. Ich denke, es sollte aktiv wie alle anderen Module sein.

Ich kann auch nicht die Variablen aus der JSP auflösen, die in anderen JSP-Dateien sind. Als Beispiel: PropsValues ​​. Kann es sein, dass es falsche/fehlende Abhängigkeiten im build.gradle gibt? 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" }

Ich baute das Loch-Projekt wieder ohne IDE und ich bekomme das gleiche Problem. Wenn ich versuche, es zu deployen, passiert ein Fehler. Es wird jedoch weiterhin auf dem Server mit dem Status installiert bereitgestellt.

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 

Wenn ich die JAR nach der Klinge bereitstellen in die deploy-Ordner kopieren, beschlossen die Zustandsänderungen zu .

Es ist das gleiche Problem wie hier: Deploying an osgi bundle (jsp hook) in liferay 7

Weitere Informationen:

ich auf Windows arbeiten.

Das Protokoll sagen die folgenden Städte, wenn ich bereit:

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] 

und es sieht aus wie das folgende Bild:

Login Screenshot

Antwort

0

Ein Fragment nie aktiviert wird. Es ist an das Hostmodul zu dem Zeitpunkt angeschlossen, an dem das Hostmodul aufgelöst wird. Es klingt wie eines der Probleme, die Sie haben, ist manuell durch Kopieren Ihrer Fragment JAR in Liferay deploy Ordner, richtig? Eine Sache, die Sie tun können, um sicherzustellen, dass das Fragment an den Host angehängt ist, geben Sie in der gogo-Shell Refresh [Hostpaket-ID] ein. Nicht ganz sicher, aber das sollte den Wirt dazu bringen, das Fragment aufzunehmen.

Zusätzlich Besuche die blade.hook.jsp Probe hier: https://github.com/liferay/liferay-blade-samples/tree/master/gradle/blade.hook.jsp

Die build.gradle Datei hat nur die Version 1.0.0 eingestellt, und die bnd.bnd, zusätzlich zu dem, was Sie in Ihnen haben, enthält

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

Ich würde dort anfangen.

Kommentar bearbeiten Adresse: Ich testete das liferay-blade-samples Fragment Projekt von der Befehlszeile, indem Sie die folgenden Aktionen ausführen:

  1. Navigieren Sie zu dem liferay-Blade-samplesclone und in gradle/blade.hook.jsp und bauen das Projekt.
  2. Kopieren Sie die JAR in meine laufenden Liferay CE GA2 Installation deploy Ordner. Ich sehe dies im Protokoll:

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]

Die JSP gerade tut dies:

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

Und ich kann der rote Text "geändert" sehen, wenn ich aus Liferay unterzeichnen und Klicken Sie dann auf Anmelden. Funktioniert das für dich?

+0

Danke Russ Bohl Mit dem Aktualisieren ist eine nette Möglichkeit, den Status von installiert zu ändern geändert. Ich habe die 2 Zeilen hinzugefügt, aber es ändert nichts. Ich habe auch versucht, 2 Beispielprojekt zu bauen, aber sie arbeiteten auch nicht für mich. Irgendwelche Ideen? –

+0

Siehe meine Bearbeitung: Es war zu lang, um einen Kommentar abzugeben. –

+0

Ich habe meine Frage bearbeitet. Mein Protokoll sieht wie Ihres aus, aber die Anmeldung sieht ohne Haken aus. Auf welchem ​​Betriebssystem arbeitest du? Ich arbeite auf Windows –