liferay中的PropsValue

liferay中的PropsValue,liferay,liferay-6,Liferay,Liferay 6,为什么我们不应该在portlet中使用portal-impl.jar中的任何类 在我的例子中,如何读取PropsValues,而不向maven依赖项添加portal impl 我正在使用Liferay 6.2 感谢@Origineil-在对您的问题的评论中-为您提供了替代使用portal-impl.jar的方法(例如,使用GetterUtil.getBoolean(PropsUtil.get(PropsKeys.SESSION\u TIMEOUT\u AUTO\u EXTEND));而不是Pro

为什么我们不应该在portlet中使用portal-impl.jar中的任何类

在我的例子中,如何读取
PropsValues
,而不向maven依赖项添加
portal impl

我正在使用Liferay 6.2


感谢

@Origineil-在对您的问题的评论中-为您提供了替代使用portal-impl.jar的方法(例如,使用
GetterUtil.getBoolean(PropsUtil.get(PropsKeys.SESSION\u TIMEOUT\u AUTO\u EXTEND));
而不是
PropsValues.SESSION\u TIMEOUT\u AUTO\u EXTEND

为什么不将portal-impl.jar添加到项目中?原因有很多。首先,它不起作用。如果将portal-impl.jar添加到插件中,其中有相当多的spring组件会重新初始化,并且它们会假设它们在门户上下文中。它们会丢失它们依赖的其他代码,而您会发现基本上,我引入了很多Liferay的实现和依赖代码,使你的插件大得离谱。而且初始化不能做两次,所以无论如何它都不会工作

另外,在portal-impl.jar中,您只能找到Liferay的实现细节——这些代码中没有一个是稳定的。不仅没有人会关心您是否依赖它,而且即使是小规模升级,它也很可能打破您的假设。当然,其中的一些组件比其他组件更稳定,但基本假设是好的


Liferay的API(我们鼓励您使用)存在于portal-service.jar中。这对所有插件都是自动可用的,并且它包含上述实现。不要依赖于某人(Liferay的)内部实现。更依赖于发布的API。如果这意味着您必须再次实现某些东西——就这样吧。它可能稍微不那么优雅,但更适合未来。如果您将portal-impl.jar的大小与在PropsValues情况下复制的代码量相比较,您将看到这个单一的expan锡安实际上是一个无名小卒。不要仅仅因为你宁愿键入30个字符而不愿键入60个字符就输入30万代码。

你可以使用与中所示相同的实用程序调用。