pluto-2.0.3部署到tomcat-7.0.52
pluto-2.0.3官方下载http://mirror.bit.edu.cn/apache/portals/pluto/ 下载 pluto-2.0.3-bundle.zip 完成后解压,我本地解压路径:E:\pluto-2.0.3如同下文所指<pluto-2.0.3>,也就是你本地的Pluto的路径。
我本地tomcat安装路径: C:\tomcat-7.0.52 也就是下文中提<TOMCAT_HOME>,也就是你本地的Pluto的路径。
步骤1、部署容器,拷贝下列文件至<TOMCAT_HOME>\shared\lib或者<TOMCAT_HOME>\lib
pluto-container-driver-api-2.0.3.jar
portlet-api_2.0_spec-1.0.jar
pluto-container-api-2.0.3.jar
pluto-taglib-2.0.3.jar
ccpp-1.0.jar
注意:此处应该查看你本地 <TOMCAT_HOME>\conf\catalina.properties 中shared.loader=${catalina.base}/shared/lib/*.jar 查看本地调用的lib,将5个文件拷贝到相对应的lib下。避免Unable to load Portlet App Deployment Descriptor:Unable to retrieve portlet: '/pluto/AboutPortlet' 错误。
步骤2、 从<pluto-2.0.3>\conf\Catalina\localhost 中拷贝pluto.xml、testsuite.xml 至<TOMCAT_HOME>/conf/Catalina/localhost目录下。这两个就是服务所调用的Context,熟悉的话可以在<TOMCAT_HOME>\conf\Server.xml配置
在<TOMCAT_HOME>下建立endorsed文件夹
步骤3、部署pluto-portal.war、pluto-testsuite.war、pluto-util-2.0.3.jar,可以在下列目录找到这些应用:
<pluto-2.0.3>\pluto-portal.war
<pluto-2.0.3>\pluto-testsuite.war
<pluto-2.0.3>\pluto-util-2.0.3.jar
根据pluto.xml、testsuite.xml中的docBase指定的路径将pluto-portal.war、pluto-testsuite.war拷贝到相应的目录。
如果(默认情况下应该这样做)pluto.xml、 testsuite.xml来自Maven构件的则把pluto- portal.war、pluto-testsuite.war放在<TOMCAT_HOME>/webapps。
如果pluto.xml、 testsuite.xml来自<pluto-2.0.3>\conf\Catalina\localhost,则放在<TOMCAT_HOME>\PlutoDomain目录下。如下所示:
例如:<pluto-2.0.3>\conf\Catalina\localhost\pluto.xml 文件内容是
<Context path="pluto" docBase="../PlutoDomain/pluto-portal-2.0.3.war" crossContext="true"> </Context>
则拷贝文件到 <TOMCAT_HOME>\PlutoDomain 下。
说明:为了能够在应用范围使用Pluto的PortletSession 属性,需要修改<TOMCAT_HOME>/conf/server.xml 中默认8080端口的Connector元素,增加属性:emptySessionPath="true"。如下所示
<Connector port="8080" protocol="HTTP/1.1" emptySessionPath="true"
connectionTimeout="20000"
redirectPort="8443" />
但是如果设为true,所有path的 session cookie将设为'/'。
需要修改:<TOMCAT_HOME>\conf\context.xml 内容如下所示:
<Context sessionCookiePath="/">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
这对portlet规范的实现非常有用,但是在服务器需要同时提供多个被访问的应用时,会对性能造成很大的影响。如果没有设置,该值为false。另外pluto-current-bundle里面已经做了设置,但是通过Maven构建时并没有设置,需要手动设置。
步骤4、 配置用户和角色
编辑<TOMCAT_HOME>/conf/tomcat-users.xml,增加一个用户和角色。
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="pluto"/>
<role rolename="tomcat"/>
<role rolename="manager"/>
<user username="pluto" password="pluto" roles="pluto,manager"/>
<user username="tomcat" password="tomcat" roles="tomcat,pluto,manager"/>
</tomcat-users>
该配置为Pluto 配置了pluto 和 tomcat两个帐号。
Portlet的运行环境搭建完成
注意:启动 Tomcat 服务器如果报Exception,java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI(........needs 2.1 API),解决方法是将<TOMCAT_HOME>\webapps\pluto\WEB-INF\lib下的jaxb-api-2.1.jar和jaxb-impl-2.1.9.jar拷贝到<TOMCAT_HOME>\endorsed下,重启服务器。
步骤5、验证安装
启动 Tomcat 服务器。浏览器访问http://localhost:8080/pluto/
输入用户名和密码(如: pluto/pluto),进入 Pluto 的 Portal 页面:
能成功登陆,并且页面没有错误报出。说明Portlet环境已经配置成功了。