预备软件:
环境设置
项目开发
- Eclipse Europa 3.3
- Pluto 1.1.4
- Maven 2.0.7
- Xdoclet 1.2.3
- M2Eclipse
- Doclipse
环境设置
- eclipse\pluto\xdoclet解压到指定目录即可
- 下载maven,解压到一个目录,设置环境变量JAVA_HOME和M2_HOME,分别指向jdk和maven的目录
- 将%M2_HOME%\bin添加到path变量,之后到命令行输入mvn --version,确认maven变量设置成功
- 将%maven%\conf\setting.xml复制到%user.home%\.m2\目录下,并修改这个文件,将localRepository设置为一个比较好找的本地目录,不设置的话默认存储在本机%user.home%\.m2\repository目录下
- 安装eclipse的m2eclipse和Doclipse插件
- 设置xdoclet和doclipse插件,指定xdoclet的安装目录,并选中portlet.xml,以使用portlet在eclipse的代码提示
- 设置java编译级别为1.4
- 修 改pluto-1.1.4\webapps\pluto\WEB-INF\themes\pluto-default-theme.jsp,在文件头添加 文件编码的标签,<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>,这样中文才能正常显示
项目开发
- 到工作区目录下,执行以下命令,创建一个portlet项目:
mvn archetype:create -DgroupId=com.excellence.portal -DartifactId=mvnPortlet -DarchetypeArtifactId=maven-archetype-portlet - cd mvnPortlet进入mvnPortlet目录,执行mvn eclipse:eclipse,生成eclipse的项目文件
- 将mvnPortlet导入eclipse工作区中
- 删除/mvnPortlet/src/main/jetspeed目录和/mvnPortlet/src/main/webapp/WEB-INF/portlet.xml文件
- 删除/mvnPortlet/src/main/webapp/WEB-INF/web.xml中的servlet映射,更改web-app的名称和描述
- 修改buildpath,删除M2_REPO开头的库
- 在项目上点右键,启用Maven->Enable Dependancy Management
- 拷贝构建文件build.properties和pom.xml到工作区中,修改build.xml中的tomcat.home和xdoclet.home指向正确的安装路径,修改pom.xml中的artifactId对应相应的项目Id
- maven已经自动生成了一个示例Portlet,可以在这个的基础上进行修改或创建新的Portlet
- 新建一个Class,继承自javax.portlet.GenericPortlet
- 使用xdoclet标签为这个Class添加portlet属性的配置,如:
/**
* @portlet.portlet
* name = "helloPortlet"
* display-name = "Hello Portlet"
* expiration-cache = "0"
*
* @portlet.supports
* modes = "view,edit"
* mime-type = "text/html"
*
* @portlet.portlet-info
* keywords = "hello"
* short-title = "hello"
* title = "helloPortlet"
*
* @author huzq
* @version 0.1
*/
必须的属性有portlet.portlet和portlet.supports - 编写Portlet代码
- 在pom.xml 上点右键,执行run as->3 maven build...,在弹出的对话框中的goals中选择package,profile填写pluto,即可构建项目并打包生成war文件,如果选择 integration-test,还会自动将war包复制到tomcat部署目录下
- 如果下一次运行同一个任务,则可以执行run as->2 maven build,会自动执行前一次执行的goals,避免再去选择
- 创建一个Tomcat 5.5类型的Server,指向pluto的解压目录即可,不需要添加项目
- 双击这个Server,配置界面中的Server Locations选项中选择Use Tomcat Installation,以使用tomcat安装目录中的配置文件启动服务器
- 执行pom.xml的integration-test任务后,启动tomcat,进入http://localhost:8080/pluto,登录的用户名密码默认是pluto/pluto
- 进入Pluto Admin页面,创建一个新页面,并将新开发的Portlet添加到这个页面,即可测试
- 将 常用的mvn命令添加到收藏夹中,可以方便调试,方法是:在进入run as -> 3 maven build...的对话框中,选择Common选项卡,选中display in favorites menu,再起个名字就可以了。目前常用的有两个,分别是使用pluto这个profile的integration-test,用于在pluto中测 试,使用generic profile的package,用来生成portlet的war包。要使用两个profile的原因是,将portlet部署到pluto之前,有一个 assemble的过程,根据portlet.xml的内容来修改web.xml,添加servlet wraper,这是pluto的部署所要求的,这样生成的war包中就带上了pluto特定的东西。而带有这个wraper的war包部署到 websphere上是不能正确运行的,所以要为这两个平台分别生成不同的war包