今天开始编译JBoss Portal。
一切按照官方文档做。
下载,一切顺利。所有的包都下载过来。
jboss-4.2.3.GA.zip
jboss-portal-2.7.2-bundled.zip
jboss-portal-2.7.2-src.tar.gz
jboss-portal-2.7.2.zip
jboss-portal-ha-2.7.2.zip
准备好本机数据库,我用的是oracle。准备方法对所有环境一样,
1. 做好下面的portal-oracle-ds.xml,拷贝到deploy文件夹下面去,删除原有的portal ds xml文件:
< datasources >
     < local-tx-datasource >
         < jndi-name >PortalDS </ jndi-name >
         < connection-url >jdbc:oracle:thin:@localhost:1521:orcl </ connection-url >
         < driver-class >oracle.jdbc.driver.OracleDriver </ driver-class >
         < user-name >jboss </ user-name >
         < password >jboss </ password >
     </ local-tx-datasource >
</ datasources >
2. 创建数据库用户jboss,授权;
3. 将ojdbc14.jar拷贝到deploy平级的lib目录下面去。

试验二进制包的环境,展开包,并准备数据库。启动运行,很顺利,没什么问题。

开始试图编译源码,解包JBoss 4.2.3,按照手册中那样配置环境变量ANT_HOME/JBOSS_HOME,编译指令,先用
build.bat deploy
试试看portal能否运行,自动下载thirdparty目录下的包出现一些小错误,手工完成失败的下载或者补齐下载错误的文件。
开始部署所有应用及示例,用
build.bat deploy-all
编译所有包,编译顺利。

运行出错,报告MailAction.hbm.xml文件找不到。
困扰了半天,决定对比下bundled环境为啥没问题,发现根源在于自动下载的thirdparty的jbpm-jpdl.jar文件是3.2.GA版本,而bundled包使用的是3.2.2版本,可能是新版本多建立了几张数据库表格,而JBoss Portal是按照新版本做的配置文件。

如此简单注释掉报错的hbm.xml文件,重新编译,重启,还有一个MailNode.hbm.xml文件找不到,同样处理,问题解决!

注:修改的文件在源码路径下core\src\resources\portal-core-sar\conf\hibernate\workflow\hibernate.cfg.xml。