2017-07-19 2 views
1

In Liferay 7, habe ich ein Modul JAR in deploy/, dann habe ich es über Gogo Shell deinstalliert, und jetzt möchte ich es wieder installieren.Fehler beim Aktualisieren des Bundles: x.jar mit ID y. Das Paket wurde deinstalliert

PROBLEM: Wenn ich es wieder in deploy/ kopieren bekomme ich diesen Fehler:

INFO [com.liferay.portal.kernel.deploy.auto.AutoDeployScanner][AutoDeployDir:252] Processing httpclient-osgi-4.5.3.jar 
WARN [fileinstall-/home/nico/liferay/osgi/modules][org_apache_felix_fileinstall:103] Failed to update bundle: /home/nico/liferay/osgi/modules/httpclient-osgi-4.5.3.jar with ID 1088. The bundle has been uninstalled 

Wie dieses Problem zu lösen?

Antwort

2

Wenn Sie deploy Ordner etwas über Liferay einsetzen, wird es in die OSGi-Laufzeit durch einen Mechanismus namens Fileinstall eingeführt.

Wenn Sie vom laufenden System über die Gogo-Shell die Bereitstellung aufheben, wird die Komponente deinstalliert, aber das Verzeichnis, das FileInstall unterstützt, enthält weiterhin das Bundle (was bedeutet, dass es bei der nächsten Bereitstellung erneut installiert wird). Normalerweise ist dies nicht das, was Sie wollen.

Faustregel: Wenn Sie über FileInstall bereitstellen, deimplementieren Sie über FileInstall. Wenn Sie über Gogo Shell bereitstellen, deimplementieren Sie über Gogo Shell. Vermische beides nicht. Entscheiden Sie sich für einen.

Da Liferay nur FileInstall verwendet, ist es sicher, Gogo Shell nicht für produktive Implementierungen zu verwenden. Plus: Bundles, die über Gogo Shell installiert werden, landen nicht in dem Verzeichnis, das FileInstall unterstützt. Das Bundle ist möglicherweise nach der erneuten Bereitstellung nicht vorhanden (insbesondere, wenn Sie den Ordner osgi/state löschen, der manchmal benötigt wird.

Verwandte Themen