【问题标题】:From Gogo Shell, get version of com.liferay.portal.kernel从 Gogo Shell,获取 com.liferay.portal.kernel 的版本
【发布时间】:2019-09-06 06:21:31
【问题描述】:

我只有一个到 Liferay 服务器的 Gogo Shell 连接。

从那个 shell,有没有办法知道那个服务器使用的 com.liferay.portal.kernel 包的版本?

例如,如果我想知道com.liferay.util.taglib 包的版本,我会输入lb | grep Taglib | grep Util 并看到版本是2.9.0,但同样的方法似乎不适用于内核包。

【问题讨论】:

    标签: liferay osgi apache-felix liferay-7 gogo-shell


    【解决方案1】:

    portal-kernel.jar 仍在全局类路径(lib/ext 文件夹)中。不确定您是否可以通过 OSGi 容器处理它。

    您可以在该 jar 内的清单文件中检查已安装的版本。

    无论如何,我猜您是在询问以便在您的开发中设置依赖关系。如果是这种情况,我建议您在兼容性方面设置您可以使用的旧版本(请参阅 Nebinger 的帖子:https://community.liferay.com/es/blogs/-/blogs/choosing-osgi-versions-during-development

    您最好的选择并不总是使用最新版本的依赖项。

    【讨论】:

    • 所以这个命令给出了我猜的版本? unzip -j $LIFERAY_HOME/tomcat/lib/ext/portal-kernel.jar META-INF/MANIFEST.MF -d /tmp/; grep "^Bundle-Version" /tmp/MANIFEST.MF
    • 如果你在服务器上,为什么不呢?使用 zgrep 或类似工具更好,因此您不必先解压缩 jar,将其留在那里。 zgrep "^Bundle-Version" $LIFERAY_HOME/tomcat/lib/ext/portal-kernel.jar
    【解决方案2】:

    你也可以使用:

    lb | grep Foundation
    

    为 DXP7.0 环境获取对应于 7.0.72 之类的“Liferay Foundation”版本。我不确定这是否也适用于 DXP7.1。

    【讨论】:

    【解决方案3】:

    也许使用 gogo shell 是不可能的。

    调用json web服务可以达到版本号:

    λ curl http://localhost:8080/api/jsonws/portal/get-build-number -u user:pwd

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-22
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 2010-12-24
      • 2022-12-20
      • 1970-01-01
      相关资源
      最近更新 更多