未能更新捆绑包:x.jar,ID 为 y。捆绑包已卸载
Failed to update bundle: x.jar with ID y. The bundle has been uninstalled
在Liferay 7中,我把一个模块JAR放到了deploy/
,然后我通过Gogo卸载了它Shell,现在我想重新安装它。
问题:当我再次将其复制到 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
如何解决?
首先,在 Liferay 的 osgi/modules/
文件夹中找到 JAR 文件并将其删除。
其次,再次将 JAR 复制到 deploy/
。
参考文献:
当您通过 Liferay 的 deploy
文件夹部署某些内容时,它会通过称为 FileInstall 的机制引入 OSGi 运行时。
当您通过 Gogo shell 从 运行 系统取消部署时,组件将被卸载,但支持 FileInstall 的目录仍然包含该包(这意味着它将在下次部署时重新安装).通常这不是您想要的。
经验法则:当您通过 FileInstall 部署时,通过 FileInstall 取消部署。当您通过 Gogo Shell 部署时,通过 Gogo Shell 取消部署。不要混合两者。决定一个。
由于 Liferay 仅使用 FileInstall,因此不使用 Gogo Shell 进行生产部署是安全的。另外:通过 Gogo Shell 安装的捆绑包不会在支持 FileInstall 的目录中结束。重新部署后捆绑包可能不存在(特别是当您删除 osgi/state
文件夹时,有时会要求这样做。
从您的 \osgi\war
文件夹中删除 .war 文件并再次部署(从 \build\libs
复制到 \deploy
文件夹)。它会起作用。
在Liferay 7中,我把一个模块JAR放到了deploy/
,然后我通过Gogo卸载了它Shell,现在我想重新安装它。
问题:当我再次将其复制到 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
如何解决?
首先,在 Liferay 的 osgi/modules/
文件夹中找到 JAR 文件并将其删除。
其次,再次将 JAR 复制到 deploy/
。
参考文献:
当您通过 Liferay 的 deploy
文件夹部署某些内容时,它会通过称为 FileInstall 的机制引入 OSGi 运行时。
当您通过 Gogo shell 从 运行 系统取消部署时,组件将被卸载,但支持 FileInstall 的目录仍然包含该包(这意味着它将在下次部署时重新安装).通常这不是您想要的。
经验法则:当您通过 FileInstall 部署时,通过 FileInstall 取消部署。当您通过 Gogo Shell 部署时,通过 Gogo Shell 取消部署。不要混合两者。决定一个。
由于 Liferay 仅使用 FileInstall,因此不使用 Gogo Shell 进行生产部署是安全的。另外:通过 Gogo Shell 安装的捆绑包不会在支持 FileInstall 的目录中结束。重新部署后捆绑包可能不存在(特别是当您删除 osgi/state
文件夹时,有时会要求这样做。
从您的 \osgi\war
文件夹中删除 .war 文件并再次部署(从 \build\libs
复制到 \deploy
文件夹)。它会起作用。