2017-07-19 37 views
1

在Liferay 7中,我已將模塊JAR放入deploy/,然後通過Gogo Shell將其卸載,現在我想再次安裝它。無法更新ID爲y的包:x.jar。該軟件包已被卸載

問題:當我再次將其複製到deploy/我得到這個錯誤:

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 

如何解決這個問題?

回答

2

當你通過部署Liferay的deploy文件夾的東西,它就會通過一個名爲FileInstall機制引入到OSGi運行時。

當您通過Gogo shell從正在運行的系統取消部署時,該組件將被卸載,但支持FileInstall的目錄仍包含該捆綁包(這意味着它將在下一次部署時重新安裝)。通常情況下,這不是你想要的。

經驗法則:當您通過FileInstall部署時,通過FileInstall取消部署。通過Gogo Shell部署時,通過Gogo Shell取消部署。不要混用兩者。決定一個。

由於Liferay僅使用FileInstall,所以不要使用Gogo Shell進行生產性部署。 Plus:通過Gogo Shell安裝的軟件包不會在支持FileInstall的目錄中結束。重新部署後,捆綁包可能不在那裏(尤其是當您刪除osgi/state文件夾時,有時會要求提供該文件夾。)