2013-05-15 39 views
1

我正在開發Liferay門戶,並且我有一個處理門戶的管理員端和一個客戶端的portlet。問題是客戶端看不到管理員頁面(包括portlet)。此外,我爲門戶創建了自定義DataBase(我使用Service Builder將自己的表包含在Liferay數據庫中)。現在我想使用同一個數據庫,這樣我就可以使用客戶端portlet從它獲取信息。具有相同數據庫的兩個portlet

任何想法?

我使用Liferay 6.1和Tomcat以及Eclipse的Liferay SDK插件。

回答

2

您可以從Web-Inf/lib複製[portlet name] -service.jar,並將其粘貼到任何其他portlet的lib文件夾中。甚至更好,如果你可以用maven做這件事,並添加這個jar作爲依賴。通過這種方式,您可以訪問您的服務提供的Util Classes,以及任何其他Portlet

+0

謝謝!您保存了我的一天:) – JohnRambo

+0

很高興知道我已經幫助 – yannicuLar

+1

如果您使用Liferay的插件SDK,在'liferay-plugin-package.properties'中設置'required-deployment-contexts'並且它會自動複製最新的編譯時間,並確保它部署後,它的服務使用的插件。 –

0

插件項目中的所有portlet都共享該插件所生成的服務構建器服務(因爲它們最終存放在一個war文件中,因此共享運行時環境)。因此,您可以將兩個Portlet都放在同一個插件中,並且都可以訪問該插件的服務構建器服務/表。我想你會發現這是一種常用的方法。您提到的權限和可見性問題不受此組織的影響。

這樣做使得部署簡單 - 只需部署插件的戰爭,完成。

如果有超出你的控制範圍的理由需要portlet分離插入,那麼它變得更加困難 - yannicuLar的方法是一種方法。

0

如果您有兩個portlet共享相同的表/實體,您可以將service.jar複製到 tomcat-7.0.27 \ lib \ ext這兩個portlet在運行時可以訪問此.jar的公共位置。

相關問題