您的位置:首页 > 运维架构 > Tomcat

jbpm-console部署到tomcat7上的修改

2015-05-15 09:29 267 查看
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错误字样的异常,解决方法有两种,请参照/article/3514318.html

ps:公司同事写的,总结下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: