<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-86  評論-767  文章-3  trackbacks-3

    第三部分 Liferay Portal部署

    本部分主要內容

    Portlet部署? ANT? 管理Portlet

    第四章 部署自己的Portlet

    Liferay PortalTomcat5.0集成在一起,從本質上講,liferay-portal-pro-3.6.0-tomcat.zip是一個Tomcat壓縮包,只是其中將liferay作為默認應用,并將跟Portlet有關的操作都交給liferay應用處理而已。因此,Liferay Portal支持所有針對Tomcat5.0的部署方式,包括:手動部署、Ant部署,并且支持熱部署。

    第一節? 手動部署

    手動部署可以采用拷貝文件夾、war部署、編寫部署文件三種方式:

    、拷貝文件夾:與單純的Tomcat一樣,我們可以將{APP_HOME}\webapp目錄拷貝到{PORTAL_HOME}\webapps\下,該webapp目錄名為TestPortal。啟動Liferay Portal(雙擊{PORTAL_HOME}\bin\startup.bat)即可。

    war部署:或者將{APP_HOME}\webapp打包成TestPortal.war,拷貝war{PORTAL_HOME}\webapps\下,啟動Liferay Portal,讓Tomcat自動解壓。在命令行模式下切換到{APP_HOME}\webapp目錄,執行 jar cvf TestPortal.war * 。

    、編寫部署文件:

    {PORTAL_HOME}\conf\Catalina\localhost目錄下,創建TestPortal.xml文件,內容如下:

    部署成功后,登錄Liferay Portal,可以在桌面底部的下拉列表中看到HelloWorldPortletHelloJSPPortlet兩個Portlet。將它們添加到桌面中。
    圖4.1-2.jpg圖4.1-3.jpg

    第二節? Ant自動部署

    確保之前已經安裝Apache Ant,并正確添加ANT_HOME到系統環境變量。

    、拷貝之前打包的TestPortlet.war{APP_HOME}/deploy目錄;

    、從http://prdownloads.sourceforge.net/lportal/Portlet-deployer-3.6.0.xml 下載Portlet-deployer-3.6.0.xml {APP_HOME}\deploy,改名為build.xml以便Ant自動加載;

    、確保JDK1.4.2Ant 1.6安裝成功,并配置到系統環境變量;

    、確保Tomcat或者其他服務器已經正確安裝,或者Liferay Portal正常安裝。

    編輯build.xml,使其只想你的應用服務器或者Servlet容器。比如,如果你安裝JBoss+Jetty/opt/liferay目錄,那么編輯build.xml,確保只有JBoss+Jetty部分沒有被注釋,修改app.server屬性為/opt/liferay。

    Build.xml默認是開啟JBoss+Jetty部分,本文采用的是Tomcat集成包,所以將JBoss+Jetty部分注釋掉,開始Tomcat部分。修改app.server.dir屬性,指向{PORTAL_HOME}。如下圖:
    圖4.2-1.jpg

    、命令行切換到到{APP_HOME}/deploy目錄,執行 ant deploy ,系統會自動將TestPortal.war解壓,必要時修改web.xml、portlet.xml等部署文件,將解壓后的TestPortal文件夾拷貝到{PORTAL_HOME}\webapps目錄下。

    啟動Liferay Portal之前,建議先確認修改后的web.xml、portlet.xml等部署文件是否正確。

    第三節? 加入Liferay Portal自有列表

    之前我們提到過,Liferay Portal集成了78個默認的Portlet應用。這些應用都通過{PORTAL_HOME}\liferay\WEB-INF\目錄下的portlet.xmlliferay-portlet.xml、liferay-display.xml描述。我們只要更改這些描述文件,就可以將我們自己的應用加入到Liferay PortalPortlet列表中了,效果跟手動部署和Ant自動部署一樣。

    、拷貝{APP_HOME}\webapp目錄的內容到{PORTAL_HOME}\liferay\html\Portlet目錄下,更改文件夾名稱為TestPortal。

    、將TestPortal\WEB-INF\classes文件夾剪切到{PORTAL_HOME}\liferay\WEB-INF目錄下。

    、將TestPortal\WEB-INF\web.xml、的內容合并到{PORTAL_HOME}\liferay\WEB-INF\web.xml中。刪除TestPortal\WEB-INF\web.xml

    、將TestPortal\WEB-INF\Portlet.xml中關于HelloWorldPortletHelloJSPPortlet的內容合并到{PORTAL_HOME}\liferay\WEB-INF\portlet.xml中。刪除TestPortal\WEB-INF\ portlet.xml。

    、將TestPortal\WEB-INF\liferay-portlet.xml中關于HelloWorldPortletHelloJSPPortlet的內容合并到{PORTAL_HOME}\liferay\WEB-INF\liferay-portlet.xml中。刪除TestPortal\WEB-INF\liferay-portlet.xml。

    、將TestPortal\WEB-INF\liferay-display.xml中關于HelloWorldPortletHelloJSPPortlet的內容合并到{PORTAL_HOME}\liferay\WEB-INF\liferay- display.xml中。刪除TestPortal\WEB-INF\ liferay- display.xml。

    這個方法比較復雜,而且不容易擴展和調試,通常不建議采用。

    第四節? 普通Java Web應用轉化為Portlet應用

    隨著開發的深入,我們希望能夠將原來的Java Web應用遷移到Liferay Portal,構建真正的企業門戶。Liferay Portal靈活的二次開發機制,允許用戶將各種各樣的內容集成到Portal平臺上來,消除信息孤島。將一個Java Web應用轉化為Portlet應用的步驟如下:

    、撰寫擴展自GenericPortletPortletJSP頁面。這個Portlet可以使用PrintWriter輸出或者調用JSP頁面輸出方式。通常,如果Java Web應用是采用MVC三層模式,那么只需要更改View層就可以了。

    、修改web.xml,增加2.6.1所述的Portlet監聽器和Portlet標簽庫,增加針對上步驟所寫的servletservlet映射。

    ??????

    ????????????? yourPortlet

    ????????????? com.liferay.portal.servlet.PortletServlet

    ?????????????

    ???????????????????? Portlet-class

    ???????????????????? full.name.of.yourPortlet

    ?????????????

    ????????????? 0

    ??????

    ??????

    ????????????? yourPortlet

    ????????????? /yourPortlet/*

    ??????

    、創建portlet.xml,增加相應的Portlet定義信息,規范參考2.6.2。

    、創建liferay-portlet.xml,增加相應的Portlet定義信息,規范參考2.6.3

    、創建liferay-display.xml,增加相應的Portlet類別定義信息,規范參考2.6.4。

    、拷貝portlet.jarliferay-Portlet.tld到當前應用。其中,portlet.jarPortlet API包,作用類似servlet-api.jar,位于{PORTAL_HOME}\common\lib\ext\liferay-portlet.tldLiferay Portal提供的Portlet標簽庫。

    、選擇適當的部署方式,將修改后的Java Web應用部署到Portlet平臺上。

    第四部分 附錄

    本部分主要內容

    資源網站 Portlet范例 參考資料 后序

    第五章 相關資源

    作為一個開源的門戶產品,Liferay Portal已經比較成熟,有比較齊全的文檔。隨著應用的深入,開源免費的中文化文檔也在陸續出現。

    第一節 資源網站

    Liferay Portal 官方網站:http://www.liferay.com?

    Liferay Portal 中文網站:http://www.liferay.cn?

    Liferay Portal 論壇:http://forums.liferay.com?

    Tracker http://support.liferay.com?

    郵件列表:http://sourceforge.net/mailarchive/forum.php?forum=lportal-development?

    JavaLobby專題:http://www.javalobby.org/articles/liferay/

    OSQS專題:http://cstsolaris.cst.nait.ab.ca/ist410/gerry/liferay/index.jsp?

    Leonardsoko1專題:http://www.leonardsokol.com/liferay/

    Developer專題:http://www.developer.com/java/web/article.php/10935_3372881_1

    第二節? 示例

    Liferay Portal隨程序包提供了豐富的documentation,其中的Portlet ExamplesPortal內置的Hello World、IFrame、CalendarMessage Boards、Mail五個Portlet進行了比較詳細的解說。啟動Liferay Portal后,瀏覽這里:

    http://localhost/web/guest/documentation/development/Portlet

    另外,Liferay Portal還在官方網站上提供了Sample Layout TemplateSample Portlet、Sample Themes供下載。其中,Sample Portlet包括Sample JSP Portlet、Sample Struts PortletSample JSF SUN Portlet、Sample JSF MyFaces Portlet。瀏覽這里:

    http://localhost/web/guest/downloads/sample_Portlet


    ?

    第六章參考資料

    、文檔

    JSR168 PORLET標準手冊漢化整理》?????????????????????? 作者:Jini

    Portlet應用開發(JSR168)??????????????????????????????????????? 作者:Terry Lee

    (原創翻譯)Liferay-Portal架構》?????????????????? 作者:eamoi

    、網站

    http://www.liferay.com

    http://www.liferay.cn

    ?

    后序

    研究Liferay Portal屬于半路出家。從開始到本文完成,倆月有余。作為一個開源的Portal產品,Liferay的確值得稱許,雖然還有不少bug。在本文截稿的時候,Liferay Portal V3.6.1已經發版,新版本在拖拉Portlet、Spring遠程傳輸和布局熱部署方面有比較大的提升。本文不會就此終結,暫稱V1.0,作為前段工作的總結。本文的用戶策略部分參考了同事Kevin的文檔,特此感謝。

    PS:寫文章真的很費腦筋。


    posted on 2005-10-21 09:26 eamoi 閱讀(10155) 評論(19)  編輯  收藏 所屬分類: Java

    評論:
    # re: 【原創】Liferay Portal二次開發指南(11) 2005-12-18 21:25 | sunshineblue
    很不錯的文章呢
    有空交流一下portal方面的東西  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2006-06-08 11:43 | ituser
    按照以上的步驟,創建了TestPortal.

    但一訪問http://127.0.0.1:8080/TestPortal/HelloWorldPortal 出錯了

    提示:
    java.lang.NullPointerException
    com.liferay.portal.servlet.PortletServlet.service(PortletServlet.java:77)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

    請問這是什么回事呢?  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2006-06-08 11:43 | ituser
    按照以上的步驟,創建了TestPortal.

    但一訪問http://127.0.0.1:8080/TestPortal/HelloWorldPortal 出錯了

    提示:
    java.lang.NullPointerException
    com.liferay.portal.servlet.PortletServlet.service(PortletServlet.java:77)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

    請問這是什么回事呢?  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2006-11-02 14:05 | 高薪招聘若干名Java Portal開發高級工程師
    用友軟件工程有限公司(http://www.use.com.cn)高薪招聘若干名Java Portal開發高級工程師。本文信息一周內有效。

    職責:
    1. 參與產品需求分析、定義。
    2. 參與產品設計和實現。

    技能要求:
    熟悉Liferay,有1年以上Java Portal and Portlet開發經驗。對Hibernate和structs熟悉的優先考慮

    待遇
    根據技能高低,至少8k

    聯系方式:
    郵件 xujian@use.com.cn
    電話 82373737-8016
    聯系人 徐先生

    有意者給我發郵件吧。
      回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2007-01-24 15:11 | rain_zhou
    我的也是.到底怎么回事???
    java.lang.NullPointerException
      回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2007-01-24 15:11 | rain_zhou
    我的也是.到底怎么回事???
    java.lang.NullPointerException
      回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2007-04-21 21:30 | mr.white
    2007-4-21 13:19:08 org.apache.catalina.core.StandardContext listenerStart
    SEVERE: Error configuring application listener of class com.liferay.portal.servlet.PortletContextListener
    java.lang.ClassNotFoundException: com.liferay.portal.servlet.PortletContextListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3677)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
    at org.apache.catalina.core.StandardService.start(StandardService.java:450)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
    2007-4-21 13:19:08 org.apache.catalina.core.StandardContext listenerStart  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2007-04-21 21:32 | mr.white
    SEVERE: Error configuring application listener of class com.liferay.portal.servlet.PortletContextListener
    java.lang.ClassNotFoundException: com.liferay.portal.servlet.PortletContextListener

    在運行HelloJSPPortlet 的例子的時候,監聽老是啟動不起來,好象找不到該類,加載不上,請各位高手指點一下,謝謝了  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2007-04-21 21:33 | mr.white
    SEVERE: Error configuring application listener of class com.liferay.portal.servlet.PortletContextListener
    java.lang.ClassNotFoundException: com.liferay.portal.servlet.PortletContextListener
    在運行HelloWorldPortlet 的例子的時候,監聽老是啟動不起來,好象找不到該類,加載不上,請各位高手指點一下,謝謝了  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2007-05-22 14:42 | hello
    @mr.white

    我也碰到同樣問題了。  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2007-05-22 16:54 | hello
    解決了。注意下版本。如果是4.2的。要將com.liferay.portal.servlet.PortletContextListener 改成
    com.liferay.portal.kernel.servlet.PortletServlet,
    最后將portal-kernel.jar 導入
    就可以了。輸入http://localhost:8080/TestPortal/view.jsp就能看到結果  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2007-05-22 17:00 | hello
    發錯了,應該是com.liferay.portal.servlet.PortletContextListener==》com.liferay.portal.kernel.servlet.PortletContextListener

    com.liferay.portal.servlet.PortletServlet==>
    com.liferay.portal.kernel.servlet.PortletServlet

    兩個地方  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) [未登錄] 2007-07-31 14:17 | 飛馬
    我在liferay4.2.2按指南的操作,能夠加載portlet上下文,但登錄進portal后,無法通過add content將portlet加入頁面,在portlet列表中沒有新建的portlet;但是在admin portlet中可以看到新建的portlet,但此處無法加入頁面。
    如何才能把新建的portlet加入頁面呢?謝謝  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) [未登錄] 2007-08-20 21:53 | test
    java.lang.NullPointerException
    com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:83)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2007-08-23 11:10 | 朱XX
    我在liferay4.2.2按指南的操作,能夠加載portlet上下文,但登錄進portal后,無法通過add content將portlet加入頁面,在portlet列表中沒有新建的portlet;但是在admin portlet中可以看到新建的portlet,但此處無法加入頁面。
    如何才能把新建的portlet加入頁面呢?謝謝


    我也遇到同樣的問題,請教高手指點啊
    QQ 81009382 謝謝  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2008-05-13 17:38 | taihua
    深圳泰華天成科技有限公司(www.taihuatech.com.cn)成立于2007年,專注為大中型企業提供整體解決方案。公司擁有門戶、工作流、ESB等系列產品線,并已在實際項目中得到不同程度應用。目前公司急缺善于跟蹤和應用JAVA流行框架,對門戶(如liferay)、ESB、工作流方面有經驗的技術人才加盟共同創業。
    如果有興趣,或者周遍朋友有類似經驗,真誠請您推薦加盟我們。

    簡歷投放地址:taihuatech@163.com
    聯系方式:fasit-jlle @hotmail.com,QQ:8181740
    謝謝您的關注。
      回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2009-02-09 16:22 | wzhangb
    關于Liferay 門戶,大家可以聯系大連Peter,他們是liferay中國唯一合作伙伴,我和peter 交流過,msn : eonpeter@gmail.com  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2009-11-06 12:17 | 大海之聲
    頂一下 !??!PETER人不錯!  回復  更多評論
      
    # re: 【原創】Liferay Portal二次開發指南(11) 2010-08-12 20:59 | hmf0786
    中國大連Liferay服務

    QQ:1417153858 (Liferay支持)
    QQ:1410151582 (Liferay培訓)
    QQ:1492270185 (Liferay企業版)

    24小時電話聯系:
    0411-84898263 (總機)
    15601156692 (市場部)

    Liferay中國服務大連QQ群: 49845872  回復  更多評論
      
    主站蜘蛛池模板: 亚洲国产综合AV在线观看| 在线免费观看毛片网站| 美女黄网站人色视频免费| 两性色午夜视频免费网| 亚洲三级高清免费| 久久精品国产亚洲av影院| 国产精品亚洲视频| 日本19禁啪啪无遮挡免费动图| 67pao强力打造高清免费| 免费无码黄网站在线看| 美女羞羞视频免费网站| 亚洲精品无码久久| 亚洲六月丁香婷婷综合| 亚洲综合图片小说区热久久| 亚洲高清在线视频| 亚洲精品狼友在线播放| 亚洲精品国精品久久99热| 可以免费观看的一级毛片| 好大好深好猛好爽视频免费| 黄页网站在线看免费| 72pao国产成视频永久免费| 国产亚洲视频在线观看网址 | 亚洲日韩AV无码一区二区三区人| 亚洲精品综合久久中文字幕| 久久亚洲精品中文字幕| 久久综合图区亚洲综合图区 | 一级成人a毛片免费播放| 日韩精品无码免费专区午夜不卡 | 午夜亚洲www湿好大| 亚洲AV无码一区二区乱孑伦AS | 狠狠躁狠狠爱免费视频无码| 亚洲一级片免费看| 成人免费一区二区三区| 91国内免费在线视频| 成全动漫视频在线观看免费高清版下载| 一区二区视频在线免费观看| 亚洲最大的成人网站| 亚洲欧美国产日韩av野草社区| 亚洲欧洲国产综合AV无码久久| 亚洲欧洲免费无码| 三年片在线观看免费观看大全中国|