Fórumok

Liferay 6.2 Maven Portlet Deployment

Timo Kurowski, módosítva 9 év-val korábban

Liferay 6.2 Maven Portlet Deployment

Regular Member Bejegyzések: 240 Csatlakozás dátuma: 2013.06.24. Legújabb bejegyzések
Hallo,


ich versuche ein mit Maven erstelltes Portlet zu deployen. Dies funktioniert mehr oder weniger. Im Logfile steht etwas wie: "will deploy in a few seconds". Dannach passiert nichts mehr.

Starte ich den Server neu, wird das .war offenbar deployed, aber ich kann es nicht nutzen (Portlet wird nicht in der Auswahl angezeigt).

Als Ant Projekt hat es problemlos funktioniert. Auch der Maven Build lief fehlerfrei.

Auch sonst werden in Eclipse keine Fehler angezeigt, und im Logfile steht auch nichts, ausser das es deployed wurde..
thumbnail
Dominik Marks, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Regular Member Bejegyzések: 149 Csatlakozás dátuma: 2012.08.29. Legújabb bejegyzések
Hallo Timo,

mit "deployen" meinst du das target "liferay:deploy"? Oder "liferay:direct-deploy"?

Nutzt du die Maven Archetypes, die von Liferay bereitgestellt werden? Oder wie sieht die Projektstruktur und die pom.xml aus?

Gruß,
Dominik
Timo Kurowski, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Regular Member Bejegyzések: 240 Csatlakozás dátuma: 2013.06.24. Legújabb bejegyzések
Hallo Dominik,

Ich versuche die von Maven gebaute .war in den deploy Ordner von Liferay zu legen.

Ja, ich nutze die Liferay Archetypes.

pom wie Folgt:

?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelversion>4.0.0</modelversion>
	<parent>
		<artifactid>abc</artifactid>
		<groupid>blah.blah.blah</groupid>
		<version>trunk-SNAPSHOT</version>
	</parent>
	<groupid>blah.blah.blah</groupid>
	<artifactid>xxx</artifactid>
	<packaging>war</packaging>
	<name>xxx Portlet</name>
	<version>trunk-SNAPSHOT</version>
	<properties>
		<liferay.maven.plugin.version>6.2.1</liferay.maven.plugin.version>
		<liferay.version>6.2.1</liferay.version>
	</properties>
	<build>
		<pluginmanagement>
			<plugins>
				<plugin>
					<groupid>com.liferay.maven.plugins</groupid>
					<artifactid>liferay-maven-plugin</artifactid>
					<version>${liferay.maven.plugin.version}</version>
					<executions>
						<execution>
							<phase>generate-sources</phase>
							<goals>
								<goal>build-css</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<autodeploydir>${liferay.auto.deploy.dir}</autodeploydir>
						<appserverdeploydir>${liferay.app.server.deploy.dir}</appserverdeploydir>
						<appserverlibglobaldir>${liferay.app.server.lib.global.dir}</appserverlibglobaldir>
						<appserverportaldir>${liferay.app.server.portal.dir}</appserverportaldir>
						<liferayversion>${liferay.version}</liferayversion>
						<plugintype>portlet</plugintype>
					</configuration>
				</plugin>
				<plugin>
					<artifactid>maven-compiler-plugin</artifactid>
					<version>2.5</version>
					<configuration>
						<encoding>UTF-8</encoding>
						<source>1.6
						<target>1.6</target>
					</configuration>
				</plugin>
				<plugin>
					<artifactid>maven-resources-plugin</artifactid>
					<version>2.5</version>
					<configuration>
						<encoding>UTF-8</encoding>
					</configuration>
				</plugin>
			</plugins>
		</pluginmanagement>
	</build>
	<repositories>
		<repository>
			<id>central</id>
			<url>http://eineurl.de/artifactory/repo</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
		<repository>
			<id>snapshots</id>
			<url>http://eineurl.de/artifactory/repo</url>
			<releases>
				<enabled>true</enabled>
			</releases>
		</repository>
		<repository>
			<id>xss-html-filter releases</id>
			<name>xss-html-filter Releases Repository</name>
			<url>http://xss-html-filter.sf.net/releases/</url>
		</repository>
	</repositories>
	<dependencies>
		<dependency>
			<groupid>com.liferay.portal</groupid>
			<artifactid>portal-service</artifactid>
			<version>6.2.1</version>
		</dependency>
		<dependency>
			<groupid>com.liferay.portal</groupid>
			<artifactid>util-bridges</artifactid>
			<version>${liferay.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupid>com.liferay.portal</groupid>
			<artifactid>util-taglib</artifactid>
			<version>${liferay.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupid>com.liferay.portal</groupid>
			<artifactid>util-java</artifactid>
			<version>${liferay.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupid>javax.portlet</groupid>
			<artifactid>portlet-api</artifactid>
			<version>2.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupid>javax.servlet</groupid>
			<artifactid>servlet-api</artifactid>
			<version>2.4</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupid>javax.servlet.jsp</groupid>
			<artifactid>jsp-api</artifactid>
			<version>2.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupid>com.liferay.maven.plugins</groupid>
			<artifactid>liferay-maven-plugin</artifactid>
			<version>6.2.1</version>
			<type>maven-plugin</type>
		</dependency>
		<dependency>
			<groupid>com.xxx.xxx</groupid>
			<artifactid>xxx</artifactid>
			<version>1.0</version>
		</dependency>
		<dependency>
			<groupid>com.xxx.xxx</groupid>
			<artifactid>xxx</artifactid>
			<version>1.0</version>

		</dependency>
	</dependencies>
</project>
thumbnail
Dominik Marks, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Regular Member Bejegyzések: 149 Csatlakozás dátuma: 2012.08.29. Legújabb bejegyzések
Hallo Timo,

ich würde mal die per Ant erzeugte WAR-Datei mit der über Maven erzeugten WAR-Datei vergleichen.

Was mir an der pom.xml aufgefallen ist: Für die Dependency "portal-service" fehlt m.E. noch <scope>provided</scope>, da du die portal-service.jar sicherlich nicht mit in deine WAR packen willst.

Gruß,
Dominik
Timo Kurowski, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Regular Member Bejegyzések: 240 Csatlakozás dátuma: 2013.06.24. Legújabb bejegyzések
Hallo Dominik,

erst mal danke für den Tipp. Abgesehen davon, das sich das Maven Projekt einige Dependencies aus dem Repository zieht, finde ich eigentlich keine Unterschiede zwischen den beiden war files. Ich finde es vor Allem seltsam, das es keine Fehlermeldung gibt im Logfile. Und aus dem Deploy Ordner verschwindet das war ja auch. Ebenso erscheint der Ordner im Webapps-Verzeichnis. Das Logfile bringt auch die Meldung, das es deployed. Ich verstehe das einfach nicht. emoticon
Timo Kurowski, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Regular Member Bejegyzések: 240 Csatlakozás dátuma: 2013.06.24. Legújabb bejegyzések
Eine kleine Anmerkung bzw. etwas ist mir noch aufgefallen:

Im Logfile steht folgendes:

[com.liferay.portal.kernel.deploy.auto.AutoDeployScanner][PortletAutoDeployListener:91] Portlets for /Users/Pfad/Portletname-SNAPSHOT.war copied successfully. Deployment will start in a few seconds.



Danach nichts mehr von diesem Portlet. Keine Fehlermeldung, keine "ready to use" Meldung. Gar nichts.
thumbnail
Dominik Marks, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Regular Member Bejegyzések: 149 Csatlakozás dátuma: 2012.08.29. Legújabb bejegyzések
Hallo Timo,

ich benutze auch Maven zum Erstellen von Liferay Portlets. Probleme hatte ich damit bislang noch nie.

Habe den folgenden Link gefunden, wo das Problem mit der genannten Log-Meldung diskutiert wird. Vielleicht helfen dir die dort gemachten Vorschläge ja:

https://www.liferay.com/de/community/forums/-/message_boards/message/11711445

Du solltest auch prüfen, ob deine WAR-Datei eine gültige web.xml (kann bis auf das <web-app>-Element ruhig leer sein) enthält. Je nachdem, wie das Maven WAR-Plugin konfiguriert ist, versucht Maven manchmal auch, die web.xml selbst zu erstellen. Schau vielleicht auch mal, ob beim Bauen mit Maven irgendeine Fehlermeldung oder Hinweis bezgl. der web.xml kommt.

Gruß,
Dominik
thumbnail
André Bunse, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Junior Member Bejegyzések: 65 Csatlakozás dátuma: 2014.02.13. Legújabb bejegyzések
Hallo Timo,

hast du mal kontrolliert, ob die Berechtigungen der War-Datei ok sind.

Ich habe auch einen Fall, da wird die Datei mit root-Rechten in das Deploy-Verzeichnis geschoben
und ich muss erst nen "chgrp liferay *.war" und "chown liferay *.war" durchführen, damit der Deploy-Vorgang
wirklich startet.
Oliver Bayer, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Liferay Master Bejegyzések: 894 Csatlakozás dátuma: 2009.02.18. Legújabb bejegyzések
Hallo Timo,

in so einem Fall solltest du mal den Workaround des Deployens über das ControlPanel versuchen emoticon.

Viele Grüße

Oli
Timo Kurowski, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Regular Member Bejegyzések: 240 Csatlakozás dátuma: 2013.06.24. Legújabb bejegyzések
Hallo André, hallo Oliver,

ich muss generell den Owner ändern, wenn ich eine .WAR auf meinen Servern deploye, die vom "root" Benutzer eingestellten files werden erst gar nicht von liferay angefasst. In meinem Fall ist der benötigte owner tomcat.

Über die Oberfläche (Control Panel) bleibt der Prozess ebenso stehen. Logfile: "Deployment will start in a few seconds". Dann nichts mehr...
Oliver Bayer, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Liferay Master Bejegyzések: 894 Csatlakozás dátuma: 2009.02.18. Legújabb bejegyzések
Hallo Timo,

dann könntest du noch schauen, ob im ControlPanel das richtige deploy-Verzeichnis eingetragen ist.

Grüße Oli
Timo Kurowski, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Regular Member Bejegyzések: 240 Csatlakozás dátuma: 2013.06.24. Legújabb bejegyzések
Hallo Oliver,

das Verzeichnis stimmt so. Von ANT gebaute .war files lassen sich damit auch deployen. Es geht wirklich nur um die Maven Builds..
Timo Kurowski, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Regular Member Bejegyzések: 240 Csatlakozás dátuma: 2013.06.24. Legújabb bejegyzések
Ich habe mal die mir auffälligen Unterschiede der Ordnerstrukturen aufgeschrieben. Eventuell stimmt da ja etwas nicht?



-In Maven [MAIN-FOLDER] gibt es eine view.jsp, in ANT nicht.

-In Maven liegen unter (META-INF) -> (MAVEN) -> [einpfad.de] -> (ANNOUNCER) -> pom.properties und pom.xml, in ANT ist unter META-INF nur MANIFEST.MF

-In Maven gibt es im (WEB-INF) -> (META-INF) -> MANIFEST.MF, in ANT ist kein (META-INF) unter (WEB-INF)

-In ANT gibt es unter (WEB-INF) -> (classes) -> zusätzlich ((content)->Language.properties) und ((META-INF)->viele.xml) und service.properties. In MVN nur (com)

-In Maven sind unter (WEB-INF)-> (LIB )-> viel mehr .jar Dateien

-ANT hat unter (WEB-INF) einen (SRC) Ordner, Maven nicht


Das sind so die Unterschiede die mir aufgefallen sind.
thumbnail
Dominik Marks, módosítva 9 év-val korábban

RE: Liferay 6.2 Maven Portlet Deployment

Regular Member Bejegyzések: 149 Csatlakozás dátuma: 2012.08.29. Legújabb bejegyzések
Hallo Timo,

  • view.jsp: Stammt wahrscheinlich aus dem Maven Archetype. Enthält wahrscheinlich nur so etwas wie "this is the blabla-portlet"
  • pom.properties, pom.xml stammen von Maven, sollte für das Deployment egal sein.
  • Wenn content/Language.properties und META-INF/*.xml fehlen, dann stimmt die Einstellung des resource-Folders bei dir nicht, oder du hast die Language.properties und META-INF/*.xml bei dir unter src/main/java hinterlegt (sollten aber unter src/main/resources liegen)
  • Die lib-Dateien unter WEB-INF sollten bei Ant und Maven gleich sein. Prüfe mal deine Maven-Depencencies, insbesondere, ob der scope richtig gesetzt ist (z.B. sollten alle Liferay-Dependencies immer "provided" sein, da die .jars ja schon im Application Server vorhanden sind
  • WEB-INF/src wird vielleicht von Ant angelegt, sollte für das Deployment aber egal sein.


Gruß, Dominik