预备:下载ant : http://ant.apache.org/bindownload.cgi
配置ant: 即ant 环境变量配置,将apache-ant-1.8.2\bin配置到环境变量 path中
1.概述
本人首先到官方网站上下载了jbpm-5.4.0.Final-installer-full.zip,这个比较大,534M,这里面除了eclipse,什么都有,如果不下载这个,在线安装可能就惨了。
在计算机的环境变量中配置JAVA_HOME和ANT_HOME,注意path中要设置ant\bin路径。
2.安装过程
将jbpm-5.4.0.Final-installer-full.zip解压缩,本人放到了d:\java\jbpm5目录下,网上大部分人放到了jbpm-installer目录目录下
(1)运行:ant install.demo
This will:
? Download JBoss AS
? Download Eclipse
? Install Drools Guvnor into JBoss AS
? Install Oryx Designer into JBoss AS
? Install the jBPM gwt-console into JBoss AS
? Install the jBPM Eclipse plugin
? Install the Drools Eclipse plugin
这里由于Eclispe太大,建议将Eclispe压缩文件下载好放在jbpm解压后文件lib文件夹里面,那样节省安装时时间
安装成功后有提示:BUILD SUCCESSFUL
build.properties配置文件
默认配置的JBoss路径是:jboss.home=./jboss-${jboss.server.version}
如果本机已经安装了Eclipse的话,就不用再下载了,直接设置eclipse.home=d:/java/eclipse。
包中没有eclipse,所以必须先在build.properties配置文件中设置eclipse所在目录,再通过第(2)步配置,但是也会出现一些无法运行的问题。
可以采用下面方法来解决:
大家下载一个 eclipse-jee-juno-win32.zip。 下载毕完后,改名为:eclipse-java-helios-SR2-win32.zip,并且放入 D:\jbpm\jbpm-installer\lib\中
再运行ant install.demo,这样下面就不会有什么错误了。
(2)配置运行开发环境
(1).ant install.guvnor.into.jboss
(2).ant install.designer.into.jboss
(3).ant install.jBPM-gwt-console.into.jboss
(4).ant install.jBPM-eclipse.into.eclipse
(5).ant install.drools-eclipse.into.eclipse
(6).ant install.jBPM.runtime (该命令没有在install.html安装说明里出现,但如果不运行该安装命令,在下面使用命令:ant start.human.task的时候会报错:"...runtime does not exist").
ant install.jBPM-eclipse.into.eclipse
ant install.drools-eclipse.into.eclipse
基本上是是bulid failed的,解决这个问题的方法是,
不用输入这两句,而是输入:ant install.droolsjbpm-eclipse.into.eclipse
也可以不输入命令:进入到jbpm的lib文件夹,把org.drools.updatesite-5.4.1.Final-assembly.zip包内的plugins和features复制到Eclipse目录下即可
(3)运行:ant start.demo
当看到eclipse打开后,就说明启动成功了!
在jbpm5目录下,打开ant的配置文件build.xml
<target name="start.demo" depends="start.h2,start.jboss,start.eclipse" />
start.demo表示启动h2数据库,jboss和eclipse
如果不想启动eclipse,可以输入以下命令:ant start.demo.noeclipse
<target name="start.demo.noeclipse" depends="start.h2,start.jboss" />
可能会出现的错误
首先查找是不是8080端口被占用了,则可能提醒build failed, jboss didn't start within 5 minutes,如果是电脑配置不足,可以将jbpm-installerbuild.xml里的start Jboss AS部分里的waitfor maxwait =5 改成 10,这样就给你电脑10分钟时间启动jboss。
如果8080端口没有被占用还是启动不了,那请到安装后文件夹下的执行下jboss-as-7.1.1.Final\bin \standalone.bat文件,查看具体错误,也可以在jboss-as-7.1.1.Final\standalone\log查看server.log查看日志,对症解决具体的问题
(4)启动human task
输入命令ant start.human.task
这里会出现错误:java.io.FileNotFoundException: null\roles.properties (The system cannot find the path specified)
解决方法:
在build.xml中修改如下语句
<java classname="org.jbpm.DemoTaskService" fork="true">
<sysproperty key="jbpm.user.group.mapping" value="file:///<path of your jboss server>/jboss-as-7.1.1.Final/standalone/configuration/roles.properties"/>
<classpath>
<pathelement path="${install.home}/task-service/target"/>
<path refid="classpath.human.task" />
</classpath>
</java>
这里我的path of your jboss server为d:/jbpm5
如果正常启动,将显示以下信息
[javac] D:\Java\jbpm5\build.xml:865: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[java] Task service registered usergroup callback ...
[java] Task service started correctly!
[java] Task service running ...
打开eclipse,导入jbpm5目录下的sample工程。这时eclipse会报错,因为没有导入相应的jar包,在sample项目中建立lib目录,复制jbpm5\runtime\lib下的所有jar到lib目录下,然后加到classpath下,这样工程的错误就消失了。
以Application方式运行ProcessTest.java,程序有可能还是出错,错误信息如下
ERROR service.hornetq.HornetQTaskClientConnector.connect - Unable to connect to server using configuration org-hornetq-core-remoting-impl-netty-NettyConnectorFactory?port=5153&host=127-0-0-1
org.jbpm.workflow.instance.WorkflowRuntimeException: [com.sample.evaluation:1 - Self Evaluation:2] -- Could not connect task client: on ip: 127.0.0.1 - port: 5153
我的解决方法是将d:/jbpm5/conf/default.jbpm.console.properties中的
jbpm.console.task.service.host=127.0.0.1
修改为
jbpm.console.task.service.host=localhost
再将程序中的127.0.0.1修改为localhost
程序正常运行,console显示
Process started ...
如果还是出现 Could not connect task client: on ip: localhost - port: 5153,可以试一试JBPM后台管理
在网页上输入http://localhost:8080/jbpm-console
如果这个也打不开,说明jbpm没有在jboss中启动起来
(5)Demo导入
Demo安装之后,就会在jboss目录下自动安装几个war包,分别是:jbpm-gwt-console.war、 jbpm-gwt-console-server.war、drools-guvnor.war、designer.war
其中
droos-guvnor.war 是一个文件管理系统,主要用来管理流程定义文件。
jbpm-gwt-console-server.war 这个war包相当于我们的应用程序,即jbpm5的client端,数据源信息可以在这个war包中配置和修改。其他2个可能是设计器相关的,暂不研究。
现在可以使用eclipse导入jbpm自带的一个流程。方法为依次点击File -> Import ,在General category下选择“Existing Projects into Workspace”,找到位于jbpm安装根目录/sample/evaluation文件夹,将该项目导入。
演示视频地址为:http://people.redhat.com/kverlaen/install-eclipse-jbpm.swf
(6)使用web管理控制台
jboss启动后,可通过以下地址访问jbpm自带的web控制台:
http://localhost:8080/jbpm-console
登录的用户名、密码均为krisv
在web控制台中可启动一个新流程、查看正在执行流程的当前状态、查看当前登录人待办任务以及并可以以报表形式查看、跟踪流程状态。
演示视频地址为:http://people.redhat.com/kverlaen/install-gwt-console-jbpm.swf
(7)使用Guvnor知识库
现在Guvnor知识库以及集成到jbpm中,并且在下一个releases版本中有所改进,现在的版本虽然已可以试用,但有下面一些局限:
(1)如果你要在Guvnor中创建一个BPMN2流程,通过“Create New -> New File ”并需要指定该文件的扩展名为.bpmn。
(2)流程设计器现在仅能在Google的Chrome浏览器中运行。
(3)现在还不能用一个基于Guvnor的package作为JBPM5的知识库。
(4)如果设计器不能保存或加载BPMN2的流程,请联系jBPM社区,并告诉我们问题如何出现,以便我们进行重现并加以改进。
Drools Guvnor的访问地址为:
http://localhost:8080/drools-guvnor
使用非空的用户名密码登陆即可(为了进行demo,身份验证暂时失效)。
具体的使用细节,可参照Drools Guvnor提供的文档,下载地址为:
http://download.jboss.org/drools/release/5.1.1.34858.FINAL/drools-5.1.1-docs.zip
如果需要将数据库移植到mysql,参见《https://community.jboss.org/wiki/SetUpJBPM54FinalInstallerToUseMySQL-OrHowToRunSection37OfTheUserGuide#Set_up_MySQL》
参考文献
1.jbpm-console和jboss-guvnor的使用 .http://blog.sina.com.cn/s/blog_6cd73dfb0101321n.html
2.Jbpm5.4配置与安装. http://blog.sina.com.cn/s/blog_c0e9652501017a4u.html
3.jbpm5 概述 .http://blog.chinaunix.net/uid-7374279-id-3486040.html