1)在jbpm-jpdl-3.2.3\deploy目录下执行antcustomize.console.for.tomcat,会在deploy\customized文件夹下生成一个jbpm-console.war 文件,把它拷贝到
tomcat7的webapps目录下,运行tomcat,解压这个war包。
2)打开解压后的jbpm-console.war文件夹,拷贝以下几个jar包到web-inf/lib目录下:
commons-collections.jar
ehcache-1.2.3.jar
jta.jar
jsf-api.jar
jsf-impl.jar
ojdbc14.jar(连接oracle数据库的jdbc驱动jar)
jsf-*.jar文件引入是因为console程序页面使用jsf框架进行渲染,这两个jar包是用于渲染jsf页面为html真实页面用的。
这两个jar包可以从
jbpm-jpdl-3.2.x\server\server\jbpm\deploy\jboss-web.deployer\jsf-libs目录下拷贝。
2)查看web-inf/lib目录下gravel.jar包的版本,可以使用反编译工具查看,
然后下载对应版本的gravel源码,
例如1.0.0.GA 下载的源码目录是http://anonsvn.jboss.org/repos/gravel//gravel.1/tags/1.0.0.GA/
然后按照https://issues.jboss.org/browse/JBPM-3302提到的修改
org.jboss.gravel.data.action.FilterActionListener
和org.jboss.gravel.data.action.SortActionListener
的getValue方法:
public Object getValue(ELContext elContext, Object base,Object property)
{
if (base == null &&entryVarName.equals(property)) {
//针对tomcat的el解析规则添加的代码,在jboss下运行不需要添加。
elContext.setPropertyResolved(true);
return item;
}
.............
}
这主要是解决页面中使用gd:filter和gd:sort标签时,entry标识符无法识别的异常。
修改好后直接执行ant,编译出一个新的gravel.jar,替换web-inf/lib目录下的同名jar
3)修改jbpm-console\WEB-INF\classes\hibernate.cfg.xml,修改成自己使用的数据库连接盒jdbc驱动。
4)修改tomcat\conf\tomcat-users.xml文件,添加console登陆的用户名和角色,例如:
<tomcat-users>
<user username="admin"password="admin"roles="admin,user,hr,participant"/>
</tomcat-users>
如果与tomcat的用户同名,可以修改tomcat同名的用户。
5)tomcat7的el解析会进行java关键字的检查,如果xhtml文件中出现了java关键字,如new,class等的话,会抛出is not a valid Javaidentifier错误字样的异常,解决方法有两种,请参照http://my.oschina.net/yangphere/blog/38626
ps:公司同事写的,总结下