从 Gogo Shell,获取 com.liferay.portal.kernel 的版本
Posted
技术标签:
【中文标题】从 Gogo Shell,获取 com.liferay.portal.kernel 的版本【英文标题】:From Gogo Shell, get version of 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
,但同样的方法似乎不适用于内核包。
【问题讨论】:
【参考方案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。
【讨论】:
com.liferay.portal.kernel 的最高版本是3.61.0
,见mvnrepository.com/artifact/com.liferay.portal/…
好的,抱歉。 sn -p 将返回与内核版本不同的 DXP 版本。【参考方案3】:
也许使用 gogo shell 是不可能的。
调用json web服务可以达到版本号:
λ curl http://localhost:8080/api/jsonws/portal/get-build-number -u user:pwd
【讨论】:
以上是关于从 Gogo Shell,获取 com.liferay.portal.kernel 的版本的主要内容,如果未能解决你的问题,请参考以下文章