各位大虾
跪求一个 liferay+struts2+spring+hibernate  DEMO 
发一个给我行不!!
邮箱:[email protected]我现在做的例子 是 liferay+struts2
部署的时候报配置错误,也不知道到底是哪里有问题
com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for 项目名
com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for StrutsStudy-portlet
at com.liferay.portal.kernel.deploy.hot.BaseHotDeployListener.throwHotDeployException(BaseHotDeployListener.java:45)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:104)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:109)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:182)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:38)
at com.liferay.portal.kernel.servlet.PortletContextListener.doPortalInit(PortletContextListener.java:99)
at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:52)
at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:50)
at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:55)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1345)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:619)

解决方案 »

  1.   

    ~~~~~~~~~~~~~~~~~~~~~~~web.xml   没有改动过<?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>StrutsStudy-portlet</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      <jsp-config>
       <taglib>
       <taglib-uri>http://java.sun.com/portlet_2_0</taglib-uri>
       <taglib-location>
       /WEB-INF/tld/liferay-portlet.tld
       </taglib-location>
       </taglib>
      </jsp-config>
    </web-app>
      

  2.   

    ~~~~~~~~~~~~~~~~~~~~~~portlet.xml
    <?xml version="1.0"?><portlet-app
    version="2.0"
    xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
    >
    <portlet>
    <portlet-name>StrutsStudy</portlet-name>
    <display-name>StrutsStudy</display-name>
    <portlet-class>com.liferay.util.bridges.mvc.MVCPortlet</portlet-class>
    <init-param>
    <name>view-jsp</name>
    <value>/view.jsp</value>
    </init-param>
    <expiration-cache>0</expiration-cache>
    <supports>
    <mime-type>text/html</mime-type>
    </supports>
    <portlet-info>
    <title>StrutsStudy</title>
    <short-title>StrutsStudy</short-title>
    <keywords>StrutsStudy</keywords>
    </portlet-info>
    <security-role-ref>
    <role-name>administrator</role-name>
    </security-role-ref>
    <security-role-ref>
    <role-name>guest</role-name>
    </security-role-ref>
    <security-role-ref>
    <role-name>power-user</role-name>
    </security-role-ref>
    <security-role-ref>
    <role-name>user</role-name>
    </security-role-ref>
    </portlet>


    <portlet>
    <portlet-name>struts2demo</portlet-name>
    <display-name>Struts2Demo</display-name>
    <portlet-class>org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher</portlet-class>  <!--这里的name名字不能修改,value对应于Struts.xml文件里面的配置-->  
            <init-param>  
                <name>viewNamespace</name>  
                <value>/struts2demoView</value>  
            </init-param>  
      
            <!-- 对应Struts.xml中设置的默认action -->  
            <init-param>  
                <name>defaultViewAction</name>  
                <value>index</value>  
            </init-param>   <supports>
    <mime-type>text/html</mime-type>
    <portlet-mode>view</portlet-mode>
    </supports>
    <portlet-info>
    <title>Struts2Demo</title>
    <short-title>Struts2Demo</short-title>
    <keywords></keywords>
    </portlet-info>
    <security-role-ref>
    <role-name>administrator</role-name>
    </security-role-ref>
    <security-role-ref>
    <role-name>guest</role-name>
    </security-role-ref>
    <security-role-ref>
    <role-name>power-user</role-name>
    </security-role-ref>
    <security-role-ref>
    <role-name>user</role-name>
    </security-role-ref>
    </portlet>
    </portlet-app>
      

  3.   

    ~~~~~~~~~~~~~~~~~~~~liferay-portlet.xml<?xml version="1.0"?>
    <!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 6.0.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_6_0_0.dtd"><liferay-portlet-app>
    <portlet>
    <portlet-name>StrutsStudy</portlet-name>
    <icon>/icon.png</icon>
    <instanceable>true</instanceable>
    <header-portlet-css>/css/main.css</header-portlet-css>
    <footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
    <css-class-wrapper>StrutsStudy-portlet</css-class-wrapper>
    </portlet>
    <portlet>
    <portlet-name>struts2demo</portlet-name>
    <instanceable>true</instanceable>
    </portlet>
    <role-mapper>
    <role-name>administrator</role-name>
    <role-link>Administrator</role-link>
    </role-mapper>
    <role-mapper>
    <role-name>guest</role-name>
    <role-link>Guest</role-link>
    </role-mapper>
    <role-mapper>
    <role-name>power-user</role-name>
    <role-link>Power User</role-link>
    </role-mapper>
    <role-mapper>
    <role-name>user</role-name>
    <role-link>User</role-link>
    </role-mapper>
    </liferay-portlet-app>
      

  4.   

    ~~~~~~~~~~~~~~~~~~liferay-display.xml<?xml version="1.0"?>
    <!DOCTYPE display PUBLIC "-//Liferay//DTD Display 6.0.0//EN" "http://www.liferay.com/dtd/liferay-display_6_0_0.dtd"><display>
    <category name="category.sample">
    <portlet id="StrutsStudy" />
    <portlet id="struts2demo"></portlet>
    </category>
    </display>
      

  5.   

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~struts.xml<?xml version="1.0" encoding="UTF-8" ?>  
    <!DOCTYPE struts PUBLIC   
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   
        "http://struts.apache.org/dtds/struts-2.0.dtd">  
      
    <struts>  
        <package name="struts2demoView" namespace="/struts2demoView" extends="struts-portlet-default">     
            <action name="index" method="view" class="com.test.Struts2Demo">     
                <result name="success">/struts2demoView/view.jsp</result>     
            </action>     
            <action name="portletView" method="portletView" class="com.test.Struts2Demo">     
                <result name="view">/struts2demoView/viewMode.jsp</result>     
            </action>     
        </package>      
    </struts>  
      

  6.   

    ~~~~~~~~~~~~~~~~~~~Struts2Demo.javapackage com.test;
    import com.opensymphony.xwork2.ActionSupport;
    /**
     * Portlet implementation class Struts2Demo
     */
    public class Struts2Demo extends ActionSupport {   
      
           
        /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private String message;   

        public String getMessage(){  
        
            return message;   
        }   
        public void setMessage(String message){   
            this.message=message;          
        }   
        public String view() throws Exception {   
            message = "hello Struts2 View Portlet!";   
            return SUCCESS;   
        }   
        public String portletView(){   
            return "view";   
        }   
        
        
        public String edit() throws Exception {   
            message = "hello Struts2 Edit Portlet!";   
            return SUCCESS;   
        }   
        public String portletEdit(){   
            return "edit";   
        }   
    }  
      

  7.   

    擦。没人关注啊
    结贴了,问题搞定
    换一个最新的jar包
    struts2-portlet-plugin-2.1.8.1.jar
    晕死了 唉~~~~~