2012-04-08 9 views
1

Ich habe eine Quellen von bestehenden Portlet. Ich habe es ein wenig geändert, um einige Fehler zu beheben, und jetzt muss ich feste Quellen in Liferay bereitstellen. Ich baue Kriegsdatei mit Artefakt-Option und diese Kriegsdatei wie üblich bereitstellen. Aber ich kann mein Portlet immer noch nicht auf der Seite hinzufügen, weil ich es nicht in der Liste sehe. Was mache ich falsch?Wie erstellt man WAR-Datei in IDEA zur Bereitstellung in Liferay?

Ich verwende Idea 11.1 und liveray 6.0.6, wenn es wichtig ist.

Scheint wie ein Problem mit einer falschen WAR-Datei, weil andere WAR-Dateien (die ich selbst nicht kompiliert habe) erfolgreich bereitgestellt wurden.

Und auch, wenn es wichtig ist, habe ich Kriegsdateien erstellt, wenn Artefakt zu bauen, und nicht Ant verwenden.


Protokolle:

09:37:09,430 INFO [PortletAutoDeployListener:71] Copying portlets for D:\odesk_work\liferay\liferay-portal-6.0.6\deploy\Comply-Activities-portlet-6.0.5.2.war 
    Expanding: D:\odesk_work\liferay\liferay-portal-6.0.6\deploy\Comply-Activities-portlet-6.0.5.2.war into D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483 
    Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483\WEB-INF 
    Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483\WEB-INF\classes 
    Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483\WEB-INF\classes 
    Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483\META-INF 
    Copying 119 files to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\webapps\Comply-Activities-portlet 
    Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\webapps\Comply-Activities-portlet 
    Deleting directory D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483 
09:37:12,456 INFO [PortletAutoDeployListener:81] Portlets for D:\odesk_work\liferay\liferay-portal-6.0.6\deploy\Comply-Activities-portlet-6.0.5.2.war copied successfully. Deployment will start in a few seconds. 

sieht aus wie es zum Absturz bringen, wenn er den Einsatz. becouse, wenn ich versuche gültige Portlet bereitstellen gibt es einige zusätzliche Informationen in Protokollen wie

09:13:37,874 INFO [PortletHotDeployListener:220] Registering portlets for Comply-Activities-portlet 
09:13:37,976 INFO [PortletHotDeployListener:369] 1 portlet for Comply-Activities-portlet is available for use 

UPD: Vielleicht wird jemand gibt mir Anweisung, wie * zu bauen .WAR richtig? Ich denke, es wird genug sein.

+0

"Wie gewohnt" Sie es "wie gewohnt auf Ihrem App-Server" oder "wie gewohnt über das Liferay-Deploy-Verzeichnis" bereitstellen? Was siehst du in der Protokolldatei? Irgendwelche Probleme? "1 Portlet für ... dein Plugin ... einsatzbereit"? –

+0

wie üblich meine ich einfügen, um dir. – Ph0en1x

+0

Protokolle sind auch in Ordnung. Ich denke, dass das Problem im falschen Krieg ist, nicht im Leben, weil ich andere Portlets ohne irgendwelche Probleme einsetze – Ph0en1x

Antwort

1

Stellen Sie sicher, liferay-display.xml ist in der WEB-INF Verzeichnis in Ihrem Krieg und dass es Inhalt ist in Ordnung.

Es sollte wie folgt enthalten:

<?xml version="1.0"?> 
<!DOCTYPE display PUBLIC "-//Liferay//DTD Display 5.2.0//EN"  "http://www.liferay.com/dtd/liferay-display_5_2_0.dtd"> 

<display> 
<category name="${liferay.category}"> 
    <portlet id="yourPortletID" /> 
    <portlet id="yourPortletID2" /> 
      <!-- more portlet ids --> 
</category> 
</display> 

das Build-System fehlt es vielleicht, wenn es Krieg schafft.

Wenn nicht, legen Sie es dort manuell und sehen, ob das funktioniert.

bearbeiten

Ok. Wenn Sie jetzt mehr Informationen haben, sieht es so aus, als würden Sie servlet-api in Ihren Krieg aufnehmen. Dieses jar (und die darin enthaltenen Klassen) werden vom Portal bereitgestellt (oder genauer gesagt vom Servlet-Container). Das gleiche gilt für portlet-api. Sie sollten sie nicht in die bereitgestellte Anwendung aufnehmen.

Überprüfen Sie, ob diese Abhängigkeiten in Ihrer pom.xml als <scope>provided</scope> angegeben sind.

+0

ja, es ist da und Inhalt sieht gut aus – Ph0en1x

+0

@ Ph0en1x ok, siehe meine Bearbeitung – soulcheck

+0

Ich entferne es aus dem Paket, aber es ist sowieso keine Hilfe – Ph0en1x

0

Versuchen Sie zunächst, das Portlet von bundles/tomcat/webapps zu entladen und das Portlet-Verzeichnis zu löschen. Stellen Sie das Portlet dann erneut bereit.

+0

versuchen Sie es oft ohne Erfolg – Ph0en1x

0

Build-Projekt mit Ameisen, Krieg schaffen und jetzt funktioniert es. Aber vielleicht ist es möglich, das ohne Ameisen zu tun, nur mit IDEA. Ich muss es überprüfen.