如何以编程方式检索AEM/CQ5的产品版本

如何以编程方式检索AEM/CQ5的产品版本,aem,Aem,AEM 5.6.1 我有一个包裹。我希望能够“嗅探”用户/管理员在尝试安装软件包时使用的AEM版本 该版本在前端通过工具->Web控制台->主->产品信息提供 我很感激我能解析上面的页面并进行提取,但肯定有一种更优雅的方法可以做到这一点吗 我已经浏览了Adobe文档的软件包:(我会发布链接,但抱怨自己没有足够的声誉),并进行了一次很好的搜索 我最接近的是通过这个文档:并假设在CRX@/etc/packages/day中找到的详细信息: cq5 cq560 cq561 表示典型安装?产品信息存

AEM 5.6.1

我有一个包裹。我希望能够“嗅探”用户/管理员在尝试安装软件包时使用的AEM版本

该版本在前端通过工具->Web控制台->主->产品信息提供

我很感激我能解析上面的页面并进行提取,但肯定有一种更优雅的方法可以做到这一点吗

我已经浏览了Adobe文档的软件包:(我会发布链接,但抱怨自己没有足够的声誉),并进行了一次很好的搜索

我最接近的是通过这个文档:并假设在CRX@/etc/packages/day中找到的详细信息:

  • cq5
  • cq560
  • cq561

表示典型安装?

产品信息存储在节点“/libs/cq/core/productinfo”上,您可以从这些节点读取信息

您没有指定在安装包时是否具有存储库访问权限。如果您希望通过HTTP将数据作为JSON,只需点击扩展名为“.JSON”的路径即可


来源:检查了chrome插件发出的网络请求

当前版本的AEM通过[1]中描述的
ProductInfoService
提供此信息,该服务可返回多个
ProductInfo
对象

这已在5.6.1中提供,也可通过位于
/system/console/status productinfo
的OSGi控制台获得


[1] 我们可以从CRXDE中的节点“/libs/cq/core/productinfo”读取AEM产品版本


参考:

要按语法检索任何正在运行的AEM实例的产品版本,可以通过以下代码段完成

@Reference 
private ProductInfoProvider productInfo;

String version = productInfo.getProductInfo().getShortVersion();
首先,我们需要将ProductInfoProvider服务或定义ProductInfoProvider的引用注入到您的服务中,并使用以下函数调用获取版本信息,如下所示:
productInfo.getProductInfo().getShortVersion()

谢谢@sharath回复,也很有用。特别是插件链接:)
@Reference 
private ProductInfoProvider productInfo;

String version = productInfo.getProductInfo().getShortVersion();