阅读Liferay插件';s自己的liferay-plugin-package.properties来自插件中的代码

阅读Liferay插件';s自己的liferay-plugin-package.properties来自插件中的代码,liferay,liferay-6,Liferay,Liferay 6,插件的代码如何访问其自己的liferay-plugin-package.properties文件中设置的属性?您可以使用DeployManagerUtil 首先导入以下内容: import com.liferay.portal.kernel.deploy.DeployManagerUtil; 导入com.liferay.portal.kernel.plugin.PluginPackage; 第二,使用它: PluginPackage PluginPackage=DeployManagerUti

插件的代码如何访问其自己的liferay-plugin-package.properties文件中设置的属性?

您可以使用
DeployManagerUtil

首先导入以下内容:

import com.liferay.portal.kernel.deploy.DeployManagerUtil;
导入com.liferay.portal.kernel.plugin.PluginPackage;
第二,使用它:

PluginPackage PluginPackage=DeployManagerUtil.getInstalledPluginPackage(“上下文名称”);
String version=pluginPackage.getModuleId();
字符串pageURL=pluginPackage.getPageURL();

这回答了读取这些属性的基本问题。但该api并不完整。e、 例如,getVersion()返回SDK的版本(如6.1.20),并保留我真正想要的,即增量版本(如6.1.20.7)。属性模块增量版本似乎不可用。PluginPackageUtil可能有一些东西,但它似乎对插件不可用。@npskirk,我将反映当前的答案以反映这一点,但是
getModuleId()
是正确的调用。但是,它似乎与其他信息连接在一起。实际上,在进一步查看它之后,
getVersion()
应该返回
{sdk version}.{module incremental version}
。如果我有机会,我会看看是否可以调试这里发生的事情,但是如果您放置一个断点并检查
pluginPackage
变量,您应该能够找到正确的值。不。pluginPackage中的任何属性都不提供此信息。getModuleId返回一个由aritfactId、groupId、pluginVersion和archive类型组成的“/”分隔字符串。pluginVersion字段与getVersionIt的字段相同,如果您可以添加一些如何获取上下文名称的示例,那就好了。在我的例子中,我使用了
portletConfig
,因此获得了如下上下文名称:
portletConfig.getPortletContext().getPortletContextName()