2014-07-22 34 views
0

我正在寫一個Liferay鉤子。在Liferay中什麼是「內核」包?

當在Liferay中引用一個Java類時,Eclipse中的「Organize imports」對話框通常會提供給我com.liferay.portal.TheClasscom.liferay.portal.kernel.TheClass

在哪些標準,我應該選擇一個或其他?
是否有一個通用規則?
這是什麼kernel包背後的理念是什麼?

回答

3

通常情況下,內核包位於portal-service.jar中,如果您有兩個實現,那麼對於portlet而言,它是全局可見的,我的賭注總是「內核」版本,因爲另一個很有可能位於門戶impl.jar中它位於Liferay的WEB-INF/lib文件夾中,因此它與其他applicaitons像門戶,鉤不可見等內

+0

所以portlet的實現者應該總是使用'kernel'一個,對不對? –

+1

* always *?我不會那麼做,並陳述這一點。但是,如果您可以在portal-service.jar的類和portal-impl.jar的類之間進行選擇:portal-service是您可以通過插件訪問的類。 –

+1

正如有人明智的說:「這取決於」 :)但說實話,如果有假設2級的實現,從插件(門戶/掛機/ EXT)內核包訪問,而門戶包不(除非通過PortalClassInvoker)所以如果這兩個實現適用於類似的工作,那麼使用內核版本更容易(或許更好的選擇)。你同意奧拉夫嗎? – papgyo