Jetspeed JetExpress Tutorial Portal笔记1 -- 定制p...

来源:百度文库 编辑:神马文学网 时间:2024/07/03 06:20:55
Jetspeed JetExpress Tutorial Portal笔记1
-- 定制portal安装
0. 约定
目录分隔符使用’/'等同于’\',文中仅使用’/’
1. 资源
Jetspeed Tutorial地址:http://portals.apache.org/tutorials/jetspeed-2/index.html Jetspeed Tutorial  Resources文件:http://portals.apache.org/tutorials/resources/jetspeed-2-resources.zip Jetspeed Tutorial  Repository:http://www.bluesunrise.com/maven2/repository.zip Java : 1.4+(本文使用1.5) Maven : 2.0.x (本文使用2.0.7) Tomcat 5.5(要求5.0或5.5):http://tomcat.apache.org/download-55.cgi
2. 工作环境配置(初始化)
环境:windows XP SP2 目录:Jetspeed Tutorial根目录定义为c:/JetspeedTraining,以下仅书写为/JetspeedTraining 创建/JetspeedTraining目录 创建/JetspeedTraining/tomcat-express目录,拷贝tomcat5.5到这个目录 修改/JetspeedTraining/tomcat-express/conf/tomcat-users.xml文件如下(全部内容):




创建/JetspeedTraining/maven/repository目录,解压http://www.bluesunrise.com/maven2/repository.zip在这个目录 创建/JetspeedTraining/resources目录,解压http://portals.apache.org/tutorials/resources/jetspeed-2-resources.zip后的文件夹改名为resources后放在这里 创建/JetspeedTraining/database目录,用于存放Derby数据库文件(简化配置,暂不使用mysql,相关配置在jetspeed的getting started文档有,很简单) 创建/JetspeedTraining/workspace目录,作为工作目录 配置:拷贝/JetspeedTraining/resources/maven/settings.xml.jetexpress “%USERPROFILE%/.m2/settings.xml”
!!!未做任何修改,主要是上面的配置是按它给的配置文件配的
注1 : /JetspeedTraining/database/jetexpress目录不能预先创建,只能创建/JetspeedTraining/database目录,否则3.2步时会出现数据库无法创建的错误。
建好以后目录结构如下:
C:/JETSPEEDTRAINING
├─database
│  └─jetexpress
├─maven
│  └─repository
│      ├─ant

│      └─xml-apis
├─resources
│  ├─applications

│  └─seed-data
├─tomcat-express
│  ├─bin

│  ├─temp
│  ├─webapps
│  └─work
└─workspace
…处表示省略了若干目录
3. 开始Tutorial
3.1 创建jetexpress工程(a new custom portal named jetexpress)
cd /JetspeedTraining/workspace
mvn archetype:create -DarchetypeGroupId=org.apache.portals.jetspeed-2
-DarchetypeArtifactId=portal-archetype
-DarchetypeVersion=2.1-dev
-DgroupId=org.apache.portals.tutorials
-DartifactId=jetexpress
-Dversion=1.0
3.2 编译创建的portal工程 (build the portal)
cd /JetspeedTraining/workspace/jetexpress
mvn -P tomcat,min
3.2 运行自定义Jetspeed Portal
这里本文使用的tomcat是作者另外安装的,没有原文提到的catdebug,启动方式略有不同
cd tomcat-express
cd bin
startup.bat
3.3 访问http://localhost:8080/jetexpress/portal/
4 操作过程中遇到的问题及解决办法(FAQ:常见问题列表)
4.1. Jetspeed Tutorial文中提到的目录到哪里找
见本文第2节
4.2. Tomcat需要如何配置
修改”%USERPROFILE%/.m2/settings.xml中的tomcat目录到指定目录,或拷贝tomcat
到/JetspeedTraining/tomcat-express目录,
修改/JetspeedTraining/tomcat-express/conf/tomcat-users.xml文件如下(全部内容):





4.3. 使用默认数据库配置,似乎编译过程都正常,启动tomcat后,访问时报以下异常
org.apache.jetspeed.pipeline.PipelineException: Falied to create capabilitied:  We were
unable to build a capability map for the agent, Mozilla/4.0.  This might be an indiciation
that the capability database has not been correctly initialized.
看异常信息,知道是数据库初始化失败,但是由于对Derby数据库不熟,无法查找具体原因,只能选择换
到mysql上,步骤如下:
4.3.1 安装mysql数据库
创建用户jetexpress,密码jetexpress
创建数据库jetexpress
create database jetexpress;
4.3.2 准备mysql驱动
放到c:/JetspeedTraining/mysql-connector-java-5.0.3-bin.jar
这里作者用的是5.0.3版本的驱动,路径与下面的配置文件统一即可,无特殊要求
拷贝到C:/JetspeedTraining/tomcat-express/shared/lib下面一份
这里maven -P tomcat,min的时候不会拷贝这个驱动文件,所以需要手动加,加在
具体项目的lib下面也可以,这里放在tomcat下面,防止clean时删掉
4.3.3 修改”%USERPROFILE%/.m2/settings.xml”数据库部分
c:/JetspeedTraining/mysql-connector-
java-5.0.3-bin.jar

mysqldatabase.default.name>
jdbc:mysql://localhost:3306/jetexpressche.jetspeed.production.database.url>
com.mysql.jdbc.Driverroduction.database.driver>
jetexpressabase.user>
jetexpress.database.password>
4.3.4 清理一下
删除tomcat/webapps目录下的所有目录及文件
删除tomcat/work目录下的所有目录及文件
mvn clean
4.3.5 重新编译,启动tomcat
mvn -P tomcat,min
startup.bat
终于看到可以的jetspeed portal了!
5. 总结
第4部分遇到的问题在Google搜索答案的时候,基本上每个问题都有人在问,但是都没有准确答案,所以都是作者自己摸索出来的,尤其是最后一个,回答该问题的是Jetspeed Tutorial 的作者,只是提醒发问的人注意错误信息是“数据库初始化错误(Looks like the database isn’t initialized. )”,不过这个提醒还是比较有价值的,我的反应就是直接换了Mysql数据库。Tutorial 作者在回答另外一个询问关于tomcat目录问题时如是说:
“this is just a tutorial and the least amount of parameters during
training the less mistakes trainees can make…. “
“Again as I stated on other threads on this list, I am rewriting the
tutorial to make it easier to install and learn with ”
所以现在这份Tutorial ,有好多处看不明白前因后果,也就忍了吧,呵呵,另外,自己研究得到答案的过程其实是最好的学习过程。