- 浏览: 614501 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
向往前途:
{"total":8,"page ...
struts2+spring+hibernate+json+jquery+flexigrid集成和在集成过程中需要注意的问题 -
MichealChao:
maven + jetty报错了JRebel: Failed ...
JRebel热部署简单安装,附破解版JRebel.jar -
MichealChao:
JRebel: Failed to start a plugi ...
JRebel热部署简单安装,附破解版JRebel.jar -
云之遥:
很好,很强大!
JRebel热部署简单安装,附破解版JRebel.jar -
li_qian_long:
请问这是哪个版本的?
JRebel热部署简单安装,附破解版JRebel.jar
jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署详解
http://www.blogjava.net/bolo/archive/2008/08/06/220425.html
大象刚刚接触jBPM,经过这几天的折腾,终于把jbpm-console这个项目在Tomcat6上布署成功了,现在把这几天来的学习经验拿出来和大家分享一下。(结尾处有相关JAR包和MySQL及SQL Server 2000脚本下载)
系统环境:windowsXP-SP2 JDK1.5.0_09 jbpm-jpdl-3.2.2 MySQL5.0.27 Tomcat6.0.10 MSSQL 2000
1、安装JDK1.5.0_09
不必一定要按我的版本来安装,不过至少JDK应该在1.5以上,JDK安装好以后,设置PATH和CLASSPATH环境变量。
2、安装Tomcat6.0.10
这个没什么好说的,请用6.0的版本,因为大象没在5.0或5.5上测试过,而且这几个版本之间有很大的不同,为了能尽快上手,还是按照我写的来吧。^_^
3、安装MySQL5.0.27
MySQL安装中采用默认安装即可,字符集不用设置为GB2312或GBK,这样做比较通用(大象用的MySQL没有设置)。
4、安装Ant-1.7.0
从apache网站上下载Ant,然后解压,设置PATH环境变量,在CMD中键入ant -version 如果看到:
Apache Ant version 1.7.0 compiled on December 13 2006 (那说明你的PATH环境已经设置好了。)
5、安装jbpm-jpdl-3.2.2
下载jbpm-jpdl-suite-3.2.2,然后解压就行,直接放在根目录下,比如:D:\jbpm-jpdl-3.2.2,这个版本是包含所有的一整套工具,目录下主要包含以下几个子目录:
config —— jBPM及Hibernate与log4j的配置文件
db —— 各种数据库的SQL语句
deploy —— 已经打包好的war包
designer —— jBPM的Eclipse插件,具体在eclipse子目录中
doc —— API文档及用户使用向导
examples —— jBPM自带的例子程序
lib —— 依赖的第三方依赖类库
server —— 一个已经配置好了的基于JBoss的jBPM示例
src —— jBPM的源代码
jbpm-jpdl-suite-3.2.2的下载地址:http://sourceforge.net/project/showfiles.php?group_id=70542
注意看下面一个链接:View older releases from the f) jBPM jPDL 3 package » 这是jbpm以前的版本
6、安装Eclipse3.2.1和MyEclipse5.1.0GA
我使用的是一种整合版本,就是解压后可以直接使用,eclipse和myeclipse已经整合好了(嘿嘿,感觉非常方便,我自己还做了一个Eclipse3.3和MyEclipse6.0的整合版,详情请看:详解Eclipse+MyEclipse完全绿色版制作方法),版本比我的高应该没关系,虽然没试过,但网上有很多人都在高版本上做过,应该没问题。这里就不说安装方法了,网上有很多相关资料。
7、安装jbpm开发插件
虽然布署jbpm-console这个项目不需要用到开发插件,但为了以后的开发,在这里我还是说一下,大象用的版本是3.0.13,为什么使用这个版本呢?因为我试过最新的3.1.3.sp2版,里面可视化编辑流程里左下角没有swimlanes标签,而3.0.13的版本中却有。
3.0.13的下载地址:http://sourceforge.net/project/showfiles.php?group_id=70542&package_id=116692 这个页面可以找到所有的插件版本,当然包括最新版。
下面来说下我的安装方法:
看到这红线框的两个文件夹了吧,大象前面说了,我用的是一种整合版本,解压后就可以直接用了,所以这两个文件夹早就已经存在了,所以如果你们要用的话就像这样建两个文件夹吧,ThirdPlugins是放第三方插件的,Links是放ini配置文件的,下面都会有详细介绍。
将下载的jbpm-gpd-3.0.13解压,复制整个eclipse文件夹,进入ThirdPlugins下,新建一文件夹,命名jbpm-gpd-3.0.13,再在此目录下粘贴eclipse文件夹
另外还需要将plugins目录下的jar包作一下修改,只保留如下两个jar包,因为其它几个jar包在MyEclipse中也有,启动eclipse之后会发生冲突,而且千万不要想当然的,在myeclipse中把同名的jar包用高版本替换,不然你会发现启动之后全是错误,嘿嘿,大象试过,有着血一样的教训,请大家千万不要重蹈覆辙。
此文件内容为:path=ThirdPlugins/jbpm-gpd-3.0.13
OK,到此,插件安装已经全部完成,另外还需要在eclipse中对jBPM作一下设置,同样为了以后开发作准备。
启动eclipse,点击Windows->Preference,中文版为"窗口"->"选项",可以看到:
点击Add,选择Search...找到你解压的jbpm-jpdl-3.2.2文件夹,然后填写Name,点击OK。回到主界面,此时还要勾选Name下的复选框,点击Apply
Server Deployment里面的东西是用来布署流程用的,前提是你得先发布好jbpm-console控制台这个程序,保证这个程序跑起来没有问题,否则是不会成功的。8080端口号和你服务器保持一致,如Tomcat或JBoss,另外布署一个新流程时,一定要先启动服务器。jbpm-console这个名字是默认发布到服务器上的名字,比如Tomcat中,webapps下使用的名字和这个要一样,那个变了,这个也要跟着变,还是保持默认就行。upload不要作修改,这些其实与布署jbpm-console应用没有多大关系,大家看看就行。
8、布署jbpm-console
在jbpm-jpdl-3.2.2\deploy目录下可以看到jbpm-console.war、build.xml(当然还有其它文件,现在我们只关心这两个),在CMD中,进入jbpm-jpdl-3.2.2\deploy目录下,使用命令:ant customize.console.for.tomcat 然后我们在deploy下可以看到多出来customized和target两个文件夹,进入customized,可以看到jbpm-console.war这个文件,用winrar将其解压到当前目录下,这时我们就得到了jbpm-console的发布应用了,不过别高兴,还有很多工作没做呢。这里我来说下,为什么使用ant customize.console.for.tomcat 这个命令,打开build.xml文件,你可以看到这样一段代码:
<target name="customize.console.for.tomcat" description="Creates a customized jbpm-console.war for tomcat in the customized directory">
<mkdir dir="target/war" />
<mkdir dir="customized" />
<unzip src="jbpm-console.war" dest="target/war" />
<copy todir="target/war/WEB-INF/lib">
<fileset dir="../lib">
<include name="activation.jar" />
<include name="antlr*.jar" />
<include name="asm.jar" />
<include name="bsh.jar" />
<include name="cglib.jar" />
<include name="commons-logging.jar" />
<include name="dom4j.jar" />
<include name="hibernate3.jar" />
<include name="jboss-backport-concurrent.jar" />
<include name="jbossretro-rt.jar" />
</fileset>
</copy>
<delete>
<fileset dir="target/war/WEB-INF/lib">
<include name="el-api.jar" />
<include name="el-ri.jar" />
</fileset>
</delete>
<zip destfile="customized/jbpm-console.war">
<fileset dir="target/war" />
</zip>
</target>
大家看到了吧,customize.console.for.tomcat为taget的name,所以这里使用这个命令就不觉得奇怪了,大象开始也觉得很迷惑,为什么网上都这样写,却不写为什么,看来是问题太简单了,那些大大们想来这根本就不是问题。呵呵呵~~~
a、加入必要的jar包
在jbpm-console\WEB-INF\lib下要加入以下几个jar包:jboss-j2ee.jar、commons-collections.jar、jsf-api.jar、jsf-impl.jar,删除jsf-api-14.jar和jsf-impl-14.jar这两个jar包。
b、建jBPM数据库
在jbpm-jpdl-3.2.2\db下找到jbpm.jpdl.mysql.sql,打开它删除前面的alter table JBPM_XX部分,保留后面的,然后再在每句SQL语句后面加上分号,检查一下有没有遗漏。然后在MySQL中新建一个jbpm数据库,将sql脚本导入进来,大象使用的是SQLyog可视化操作工具,其它相关的可视化工具非常多,可以任选一种使用,如果你不用这些工具来简化开发,那就配置mysql的PATH环境变量,在命令行中操作吧。^_^
在SQLyog中操作如下:
1、点击菜单"DB"->"Create Database",输入jbpm。
2、点击菜单"Tools"->"Import From SQL Statements...",在弹出窗口中点击"..."按钮,选择jbpm.jpdl.mysql.sql文件,然后再点击Execute按钮。请在点击Execute前确保sql脚本没有语法错误,否则是不可能执行成功的。
c、修改hibernate.cfg.xml文件
修改jbpm-jpdl-3.2.2\deploy\customized\jbpm-console\WEB-INF\classes下hibernate.cfg.xml文件,原配置文件要修改部分如下:
<!-- hibernate dialect -->
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<!-- JDBC connection properties (begin) ===
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="hibernate.connection.url">jdbc:hsqldb:mem:jbpm</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password"></property>
==== JDBC connection properties (end) -->
<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
<!-- DataSource properties (begin) -->
<property name="hibernate.connection.datasource">java:/JbpmDS</property>
<!-- DataSource properties (end) -->
修改后如下:
<!-- hibernate dialect -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">自己的密码(无密码就空着)</property>
<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
<!-- DataSource properties (begin)
<property name="hibernate.connection.datasource">java:/JbpmDS</property>
DataSource properties (end) -->
d、修改web.xml文件
在jbpm-console\WEB-INF下打开web.xml文件,在servlet前加入以下listener,注意:把listener放在所有的servlet前面,我发现网上很多帖子里都没有提到这一点,不知道他们的程序是怎么跑起来的?残念ING~~~
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<listener>
<listener-class>com.sun.faces.application.WebappLifecycleListener</listener-class>
</listener>
这两个监听器很关键,大象先一直没有成功的原因就是没有加这个,而这两个监听器都在jsf-impl.jar包中,jbpm-console这个应用可是用jsf来实现的,如果你不加,则会产生如下这些错误:
javax.servlet.ServletException: Servlet.init() for servlet Faces Servlet threw exception
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:656)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPage(FormAuthenticator.java:316)
at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:244)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:142)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
...16 more
java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:142)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-8-3 13:03:49 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /jbpm-console threw load() exception
e、修改Tomcat安全验证
有两种方法修改安全验证,第一种是修改%TOMCAT_HOME%\conf下的tomcat-users.xml文件,第二种是在%TOMCAT_HOME%\conf目录下再新建Catalina文件夹,然后再在Catalina文件夹下建localhost文件夹,在此目录下建jbpm-console.xml文件。
i、修改tomcat-users.xml文件
修改前请备份tomcat-users.xml文件,修改后的内容如下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="user"/>
<role rolename="administrator"/>
<role rolename="manager"/>
<role rolename="sales"/>
<role rolename="hr"/>
<role rolename="admin"/>
<role rolename="participant"/>
<user username="user" password="user" roles="user,sales"/>
<user username="shipper" password="shipper" roles="user,hr"/>
<user username="manager" password="manager" roles="admin,hr,manager,user,sales"/>
<user username="tadmin" password="" roles="admin,manager"/>
<user username="admin" password="admin" roles="admin,user,hr"/>
</tomcat-users>
使用这种方式来处理安全验证将不用考虑向数据库中插入组,角色,用户之类的数据,完全由Tomcat来管理
ii、新建jbpm-console.xml文件
使用这种方式将需要向数据库中插入数据,由jBPM来管理安全验证,jbpm-console.xml文件内容如下:
<Context>
<Realm className="org.apache.catalina.realm.JDBCRealm
driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/jbpm"
connectionName="root"
connectionPassword="自己的密码"
userTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"
userNameCol="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_"
userCredCol="DISTINCT u.PASSWORD_"
userRoleTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"
roleNameCol="g.NAME_" />
</Context>
需要向数据库中插入的数据:
INSERT INTO JBPM_ID_GROUP VALUES(1,'G','sales','organisation',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(2,'G','admin','security-role',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(3,'G','user','security-role',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(4,'G','hr','organisation',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(5,'G','manager','security-role',NULL);
INSERT INTO JBPM_ID_USER VALUES(1,'U','user','user@sample.domain','user');
INSERT INTO JBPM_ID_USER VALUES(2,'U','manager','manager@sample.domain','manager');
INSERT INTO JBPM_ID_USER VALUES(3,'U','admin','admin@sample.domain','admin');
INSERT INTO JBPM_ID_USER VALUES(4,'U','shipper','shipper@sample.domain','shipper');
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(1,'M',NULL,NULL,2,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(2,'M',NULL,NULL,3,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(3,'M',NULL,NULL,4,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(4,'M',NULL,NULL,4,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(5,'M',NULL,NULL,1,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(6,'M',NULL,NULL,2,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(7,'M',NULL,NULL,3,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(8,'M',NULL,NULL,3,2);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(9,'M',NULL,NULL,2,2);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(10,'M',NULL,NULL,2,5);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(11,'M',NULL,'boss',2,1);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(12,'M',NULL,NULL,1,1);
这两种方法任选一种即可。
此时基本工作都已经做完,不过在发布前,不要忘了,将MySQL的驱动拷贝到%TOMCAT_HOME%\lib目录下,然后就可以将jbpm-console文件夹复制到%TOMCAT_HOME%\webapps目录下了,接着在bin目录下双击tomcat6.exe启动服务器,等启动过程执行完后,打开IE,输入http://localhost:8080/jbpm-console 回车,应该就能看到jbpm控制台界面了。
到此,在MySQL下的布署就全部结束了,如果能看到这个界面,那恭喜你,你终于成功了!
下面接着说下如何将MySQL数据库换成MS SQL Server 2000,其实很简单,如果在MySQL下布署成功了,只需要将hibernate.cfg.xml文件里的配置改成MS SQL Server 2000的连接方式就行了,另外在2000中建立jbpm的数据库也是必要的。
9、使用SQL Server 2000数据库
在jbpm-jpdl-3.2.2\db下找到jbpm.jpdl.mssql.sql,打开后删除alter table JBPM_XX和drop table JBPM_XX这些语句,这些东东都是用来在以前的版本上做升级用的,我们是新建数据库当然用不到这些了。在SQL Server中新建jbpm数据库,COPY剩下的sql语句,在查询分析器里粘贴,然后执行,这时会有很多警告产生,如下:
警告: 已创建表 'JBPM_DELEGATION',但其最大行大小(8300)超过了每行的最大字节数(8060)。如果结果行长度超过 8060 字节,则此表中行的 INSERT 或 UPDATE 将失败。
警告: 已创建表 'JBPM_LOG',但其最大行大小(18321)超过了每行的最大字节数(8060)。如果结果行长度超过 8060 字节,则此表中行的 INSERT 或 UPDATE 将失败。
这些不用管它,接下来修改hiberate.cfg.xml文件,大象采用的是JTDS驱动的连接方式,修改后的内容如下:
<!-- hibernate dialect -->
<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:jtds:sqlserver://localhost:1433/jbpm</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password">自己的密码(无密码就空着)</property>
<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
<!-- DataSource properties (begin)
<property name="hibernate.connection.datasource">java:/JbpmDS</property>
DataSource properties (end) -->
不要忘了,还要将JTDS的驱动拷贝到%TOMCAT_HOME%\lib目录下,如果采用的是Tomcat安全验证,此时就不用向数据库插入数据,直接就可以启动服务器运行了。如果采用的是jBPM来管理安全验证,此时则需要将前面提到的数据插入数据库中,在插入前需要修改一下,将每条记录前的ID号去掉,因为数据库中对此字段已经作了标识,不能手动对它设置。数据插入后,就启动服务器看下吧!
写到这里,关于jbpm-console所有的布署都讲完了,大象以上所说的全部都是亲自在电脑上一步一步的做过,绝不会胡乱copy一下网上的东东发出来。如有什么问题,希望和大家一起交流。(如果图片不能显示,在其上点击右键,选择"显示图片")
需要使用的JAR包: 点击下载
SQL脚本: 点击下载
本文为菠萝大象原创,如要转载请注明出处。
大象刚刚接触jBPM,经过这几天的折腾,终于把jbpm-console这个项目在Tomcat6上布署成功了,现在把这几天来的学习经验拿出来和大家分享一下。(结尾处有相关JAR包和MySQL及SQL Server 2000脚本下载)
系统环境:windowsXP-SP2 JDK1.5.0_09 jbpm-jpdl-3.2.2 MySQL5.0.27 Tomcat6.0.10 MSSQL 2000
1、安装JDK1.5.0_09
不必一定要按我的版本来安装,不过至少JDK应该在1.5以上,JDK安装好以后,设置PATH和CLASSPATH环境变量。
2、安装Tomcat6.0.10
这个没什么好说的,请用6.0的版本,因为大象没在5.0或5.5上测试过,而且这几个版本之间有很大的不同,为了能尽快上手,还是按照我写的来吧。^_^
3、安装MySQL5.0.27
MySQL安装中采用默认安装即可,字符集不用设置为GB2312或GBK,这样做比较通用(大象用的MySQL没有设置)。
4、安装Ant-1.7.0
从apache网站上下载Ant,然后解压,设置PATH环境变量,在CMD中键入ant -version 如果看到:
Apache Ant version 1.7.0 compiled on December 13 2006 (那说明你的PATH环境已经设置好了。)
5、安装jbpm-jpdl-3.2.2
下载jbpm-jpdl-suite-3.2.2,然后解压就行,直接放在根目录下,比如:D:\jbpm-jpdl-3.2.2,这个版本是包含所有的一整套工具,目录下主要包含以下几个子目录:
config —— jBPM及Hibernate与log4j的配置文件
db —— 各种数据库的SQL语句
deploy —— 已经打包好的war包
designer —— jBPM的Eclipse插件,具体在eclipse子目录中
doc —— API文档及用户使用向导
examples —— jBPM自带的例子程序
lib —— 依赖的第三方依赖类库
server —— 一个已经配置好了的基于JBoss的jBPM示例
src —— jBPM的源代码
jbpm-jpdl-suite-3.2.2的下载地址:http://sourceforge.net/project/showfiles.php?group_id=70542
注意看下面一个链接:View older releases from the f) jBPM jPDL 3 package » 这是jbpm以前的版本
6、安装Eclipse3.2.1和MyEclipse5.1.0GA
我使用的是一种整合版本,就是解压后可以直接使用,eclipse和myeclipse已经整合好了(嘿嘿,感觉非常方便,我自己还做了一个Eclipse3.3和MyEclipse6.0的整合版,详情请看:详解Eclipse+MyEclipse完全绿色版制作方法),版本比我的高应该没关系,虽然没试过,但网上有很多人都在高版本上做过,应该没问题。这里就不说安装方法了,网上有很多相关资料。
7、安装jbpm开发插件
虽然布署jbpm-console这个项目不需要用到开发插件,但为了以后的开发,在这里我还是说一下,大象用的版本是3.0.13,为什么使用这个版本呢?因为我试过最新的3.1.3.sp2版,里面可视化编辑流程里左下角没有swimlanes标签,而3.0.13的版本中却有。
3.0.13的下载地址:http://sourceforge.net/project/showfiles.php?group_id=70542&package_id=116692 这个页面可以找到所有的插件版本,当然包括最新版。
下面来说下我的安装方法:
看到这红线框的两个文件夹了吧,大象前面说了,我用的是一种整合版本,解压后就可以直接用了,所以这两个文件夹早就已经存在了,所以如果你们要用的话就像这样建两个文件夹吧,ThirdPlugins是放第三方插件的,Links是放ini配置文件的,下面都会有详细介绍。
将下载的jbpm-gpd-3.0.13解压,复制整个eclipse文件夹,进入ThirdPlugins下,新建一文件夹,命名jbpm-gpd-3.0.13,再在此目录下粘贴eclipse文件夹
另外还需要将plugins目录下的jar包作一下修改,只保留如下两个jar包,因为其它几个jar包在MyEclipse中也有,启动eclipse之后会发生冲突,而且千万不要想当然的,在myeclipse中把同名的jar包用高版本替换,不然你会发现启动之后全是错误,嘿嘿,大象试过,有着血一样的教训,请大家千万不要重蹈覆辙。
此文件内容为:path=ThirdPlugins/jbpm-gpd-3.0.13
OK,到此,插件安装已经全部完成,另外还需要在eclipse中对jBPM作一下设置,同样为了以后开发作准备。
启动eclipse,点击Windows->Preference,中文版为"窗口"->"选项",可以看到:
点击Add,选择Search...找到你解压的jbpm-jpdl-3.2.2文件夹,然后填写Name,点击OK。回到主界面,此时还要勾选Name下的复选框,点击Apply
Server Deployment里面的东西是用来布署流程用的,前提是你得先发布好jbpm-console控制台这个程序,保证这个程序跑起来没有问题,否则是不会成功的。8080端口号和你服务器保持一致,如Tomcat或JBoss,另外布署一个新流程时,一定要先启动服务器。jbpm-console这个名字是默认发布到服务器上的名字,比如Tomcat中,webapps下使用的名字和这个要一样,那个变了,这个也要跟着变,还是保持默认就行。upload不要作修改,这些其实与布署jbpm-console应用没有多大关系,大家看看就行。
8、布署jbpm-console
在jbpm-jpdl-3.2.2\deploy目录下可以看到jbpm-console.war、build.xml(当然还有其它文件,现在我们只关心这两个),在CMD中,进入jbpm-jpdl-3.2.2\deploy目录下,使用命令:ant customize.console.for.tomcat 然后我们在deploy下可以看到多出来customized和target两个文件夹,进入customized,可以看到jbpm-console.war这个文件,用winrar将其解压到当前目录下,这时我们就得到了jbpm-console的发布应用了,不过别高兴,还有很多工作没做呢。这里我来说下,为什么使用ant customize.console.for.tomcat 这个命令,打开build.xml文件,你可以看到这样一段代码:
<target name="customize.console.for.tomcat" description="Creates a customized jbpm-console.war for tomcat in the customized directory">
<mkdir dir="target/war" />
<mkdir dir="customized" />
<unzip src="jbpm-console.war" dest="target/war" />
<copy todir="target/war/WEB-INF/lib">
<fileset dir="../lib">
<include name="activation.jar" />
<include name="antlr*.jar" />
<include name="asm.jar" />
<include name="bsh.jar" />
<include name="cglib.jar" />
<include name="commons-logging.jar" />
<include name="dom4j.jar" />
<include name="hibernate3.jar" />
<include name="jboss-backport-concurrent.jar" />
<include name="jbossretro-rt.jar" />
</fileset>
</copy>
<delete>
<fileset dir="target/war/WEB-INF/lib">
<include name="el-api.jar" />
<include name="el-ri.jar" />
</fileset>
</delete>
<zip destfile="customized/jbpm-console.war">
<fileset dir="target/war" />
</zip>
</target>
大家看到了吧,customize.console.for.tomcat为taget的name,所以这里使用这个命令就不觉得奇怪了,大象开始也觉得很迷惑,为什么网上都这样写,却不写为什么,看来是问题太简单了,那些大大们想来这根本就不是问题。呵呵呵~~~
a、加入必要的jar包
在jbpm-console\WEB-INF\lib下要加入以下几个jar包:jboss-j2ee.jar、commons-collections.jar、jsf-api.jar、jsf-impl.jar,删除jsf-api-14.jar和jsf-impl-14.jar这两个jar包。
b、建jBPM数据库
在jbpm-jpdl-3.2.2\db下找到jbpm.jpdl.mysql.sql,打开它删除前面的alter table JBPM_XX部分,保留后面的,然后再在每句SQL语句后面加上分号,检查一下有没有遗漏。然后在MySQL中新建一个jbpm数据库,将sql脚本导入进来,大象使用的是SQLyog可视化操作工具,其它相关的可视化工具非常多,可以任选一种使用,如果你不用这些工具来简化开发,那就配置mysql的PATH环境变量,在命令行中操作吧。^_^
在SQLyog中操作如下:
1、点击菜单"DB"->"Create Database",输入jbpm。
2、点击菜单"Tools"->"Import From SQL Statements...",在弹出窗口中点击"..."按钮,选择jbpm.jpdl.mysql.sql文件,然后再点击Execute按钮。请在点击Execute前确保sql脚本没有语法错误,否则是不可能执行成功的。
c、修改hibernate.cfg.xml文件
修改jbpm-jpdl-3.2.2\deploy\customized\jbpm-console\WEB-INF\classes下hibernate.cfg.xml文件,原配置文件要修改部分如下:
<!-- hibernate dialect -->
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<!-- JDBC connection properties (begin) ===
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="hibernate.connection.url">jdbc:hsqldb:mem:jbpm</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password"></property>
==== JDBC connection properties (end) -->
<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
<!-- DataSource properties (begin) -->
<property name="hibernate.connection.datasource">java:/JbpmDS</property>
<!-- DataSource properties (end) -->
修改后如下:
<!-- hibernate dialect -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">自己的密码(无密码就空着)</property>
<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
<!-- DataSource properties (begin)
<property name="hibernate.connection.datasource">java:/JbpmDS</property>
DataSource properties (end) -->
d、修改web.xml文件
在jbpm-console\WEB-INF下打开web.xml文件,在servlet前加入以下listener,注意:把listener放在所有的servlet前面,我发现网上很多帖子里都没有提到这一点,不知道他们的程序是怎么跑起来的?残念ING~~~
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<listener>
<listener-class>com.sun.faces.application.WebappLifecycleListener</listener-class>
</listener>
这两个监听器很关键,大象先一直没有成功的原因就是没有加这个,而这两个监听器都在jsf-impl.jar包中,jbpm-console这个应用可是用jsf来实现的,如果你不加,则会产生如下这些错误:
javax.servlet.ServletException: Servlet.init() for servlet Faces Servlet threw exception
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:656)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPage(FormAuthenticator.java:316)
at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:244)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:142)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
...16 more
java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:142)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-8-3 13:03:49 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /jbpm-console threw load() exception
e、修改Tomcat安全验证
有两种方法修改安全验证,第一种是修改%TOMCAT_HOME%\conf下的tomcat-users.xml文件,第二种是在%TOMCAT_HOME%\conf目录下再新建Catalina文件夹,然后再在Catalina文件夹下建localhost文件夹,在此目录下建jbpm-console.xml文件。
i、修改tomcat-users.xml文件
修改前请备份tomcat-users.xml文件,修改后的内容如下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="user"/>
<role rolename="administrator"/>
<role rolename="manager"/>
<role rolename="sales"/>
<role rolename="hr"/>
<role rolename="admin"/>
<role rolename="participant"/>
<user username="user" password="user" roles="user,sales"/>
<user username="shipper" password="shipper" roles="user,hr"/>
<user username="manager" password="manager" roles="admin,hr,manager,user,sales"/>
<user username="tadmin" password="" roles="admin,manager"/>
<user username="admin" password="admin" roles="admin,user,hr"/>
</tomcat-users>
使用这种方式来处理安全验证将不用考虑向数据库中插入组,角色,用户之类的数据,完全由Tomcat来管理
ii、新建jbpm-console.xml文件
使用这种方式将需要向数据库中插入数据,由jBPM来管理安全验证,jbpm-console.xml文件内容如下:
<Context>
<Realm className="org.apache.catalina.realm.JDBCRealm
driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/jbpm"
connectionName="root"
connectionPassword="自己的密码"
userTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"
userNameCol="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_"
userCredCol="DISTINCT u.PASSWORD_"
userRoleTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"
roleNameCol="g.NAME_" />
</Context>
需要向数据库中插入的数据:
INSERT INTO JBPM_ID_GROUP VALUES(1,'G','sales','organisation',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(2,'G','admin','security-role',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(3,'G','user','security-role',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(4,'G','hr','organisation',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(5,'G','manager','security-role',NULL);
INSERT INTO JBPM_ID_USER VALUES(1,'U','user','user@sample.domain','user');
INSERT INTO JBPM_ID_USER VALUES(2,'U','manager','manager@sample.domain','manager');
INSERT INTO JBPM_ID_USER VALUES(3,'U','admin','admin@sample.domain','admin');
INSERT INTO JBPM_ID_USER VALUES(4,'U','shipper','shipper@sample.domain','shipper');
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(1,'M',NULL,NULL,2,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(2,'M',NULL,NULL,3,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(3,'M',NULL,NULL,4,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(4,'M',NULL,NULL,4,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(5,'M',NULL,NULL,1,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(6,'M',NULL,NULL,2,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(7,'M',NULL,NULL,3,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(8,'M',NULL,NULL,3,2);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(9,'M',NULL,NULL,2,2);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(10,'M',NULL,NULL,2,5);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(11,'M',NULL,'boss',2,1);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(12,'M',NULL,NULL,1,1);
这两种方法任选一种即可。
此时基本工作都已经做完,不过在发布前,不要忘了,将MySQL的驱动拷贝到%TOMCAT_HOME%\lib目录下,然后就可以将jbpm-console文件夹复制到%TOMCAT_HOME%\webapps目录下了,接着在bin目录下双击tomcat6.exe启动服务器,等启动过程执行完后,打开IE,输入http://localhost:8080/jbpm-console 回车,应该就能看到jbpm控制台界面了。
到此,在MySQL下的布署就全部结束了,如果能看到这个界面,那恭喜你,你终于成功了!
下面接着说下如何将MySQL数据库换成MS SQL Server 2000,其实很简单,如果在MySQL下布署成功了,只需要将hibernate.cfg.xml文件里的配置改成MS SQL Server 2000的连接方式就行了,另外在2000中建立jbpm的数据库也是必要的。
9、使用SQL Server 2000数据库
在jbpm-jpdl-3.2.2\db下找到jbpm.jpdl.mssql.sql,打开后删除alter table JBPM_XX和drop table JBPM_XX这些语句,这些东东都是用来在以前的版本上做升级用的,我们是新建数据库当然用不到这些了。在SQL Server中新建jbpm数据库,COPY剩下的sql语句,在查询分析器里粘贴,然后执行,这时会有很多警告产生,如下:
警告: 已创建表 'JBPM_DELEGATION',但其最大行大小(8300)超过了每行的最大字节数(8060)。如果结果行长度超过 8060 字节,则此表中行的 INSERT 或 UPDATE 将失败。
警告: 已创建表 'JBPM_LOG',但其最大行大小(18321)超过了每行的最大字节数(8060)。如果结果行长度超过 8060 字节,则此表中行的 INSERT 或 UPDATE 将失败。
这些不用管它,接下来修改hiberate.cfg.xml文件,大象采用的是JTDS驱动的连接方式,修改后的内容如下:
<!-- hibernate dialect -->
<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:jtds:sqlserver://localhost:1433/jbpm</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password">自己的密码(无密码就空着)</property>
<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
<!-- DataSource properties (begin)
<property name="hibernate.connection.datasource">java:/JbpmDS</property>
DataSource properties (end) -->
不要忘了,还要将JTDS的驱动拷贝到%TOMCAT_HOME%\lib目录下,如果采用的是Tomcat安全验证,此时就不用向数据库插入数据,直接就可以启动服务器运行了。如果采用的是jBPM来管理安全验证,此时则需要将前面提到的数据插入数据库中,在插入前需要修改一下,将每条记录前的ID号去掉,因为数据库中对此字段已经作了标识,不能手动对它设置。数据插入后,就启动服务器看下吧!
写到这里,关于jbpm-console所有的布署都讲完了,大象以上所说的全部都是亲自在电脑上一步一步的做过,绝不会胡乱copy一下网上的东东发出来。如有什么问题,希望和大家一起交流。(如果图片不能显示,在其上点击右键,选择"显示图片")
需要使用的JAR包: 点击下载
SQL脚本: 点击下载
本文为菠萝大象原创,如要转载请注明出处。
相关推荐
【jbpm3.2.2】 Jbpm是一个开源的工作流管理系统,它提供了一整套业务流程自动化解决方案。在3.2.2版本中,jbpm提供了对工作流建模、执行、监控和管理的功能。它支持BPMN(Business Process Modeling Notation)标准...
【JBPM3.2.3+TOMCAT 6.0+MYSQL 5.0】是一个集成环境,用于实现基于工作流的应用程序部署和数据管理。在这个配置中,JBPM(Java Business Process Management)是核心组件,它是一个开源的工作流管理系统,提供了业务...
### jBPM4.4 在 Tomcat + MySQL 环境下的安装指南 #### 一、准备工作 在开始安装之前,我们需要确保以下几项准备工作已经完成: 1. **下载相关软件**: - [jBPM 4.4](http://sourceforge.net/projects/jbpm):一...
本文主要探讨的是如何将jBPM(一个开源的工作流管理系统)集成到Tomcat应用服务器,并连接MySQL数据库进行数据存储。jBPM是一个强大的业务流程管理(BPM)和工作流系统,它提供了完整的工具集来设计、部署和执行业务...
【jbpm4.4+tomcat+s2sh】是一个基于Java EE的完整开发流程,它结合了jBPM 4.4(一个轻量级的工作流管理系统),Tomcat(一个流行的Java应用服务器),以及SSH(Struts2、Spring和Hibernate三大Java Web开发框架的...
开源工作流JBPM3.2.2开发环境部署 Ant Eclipse插件安装以及数据库
jbpm 3.2.2 表说明 详尽解释
【jbpm4.4+Tomcat6+Eclipse JEE】是一个经典的组合,用于构建基于流程管理的Java企业级应用。JBPM(Business Process Management)是一个开源的工作流管理系统,它允许开发者设计、部署和执行业务流程。Tomcat6则是...
在“jbpm4.4+ssh2+sql server2000带jar包”的项目中,这些jar包包含了jbpm4.4、SSH2框架以及其他依赖库的代码,用于构建和运行整个请假流程应用。 【jbpm_5_leave_web】可能是该项目的主模块或子目录,可能包含了...
jbpm3.2.2是jbpm的一个版本,它在当时提供了许多关键功能,如流程定义、流程实例管理、任务管理和事件处理等。本入门例子旨在帮助初学者快速理解和应用jbpm。 在jbpm3.2.2中,工作流引擎是核心组件,它负责解析流程...
本示例主要实现了流程的基本管理,流程实例的管理,...使用本例子只需要拷贝jbpm4.3的lib的jar包到本实例lib里面即可运行,注意用tomcat6的话必须把juel.jar,juel-engine.jar、juel-impl.jar剪切到tomcat的lib目录下。
【jbpm + struts + spring + tomcat】项目是一个经典的Java企业级应用架构组合,它将业务流程管理(BPM)工具jbpm、MVC框架Struts、依赖注入容器Spring和应用服务器Tomcat整合在一起,为开发高效、可维护的企业应用...
【jbpm3.2.2 Web工程框架】是企业级工作流程管理(Business Process Management,BPM)系统jbpm的一个特定版本,适用于构建基于Web的应用程序。jbpm是一款开源的BPM解决方案,它允许开发者设计、执行、管理和监控...
该文件是jbpm (工作流系统)的数据库备份,该备份文件用于ORACLE下
【JBPM5】 JBPM5是Business Process Management(业务流程管理)的开源框架,它提供了对企业级工作流和业务流程的全面支持。JBPM5允许开发者定义、执行和监控复杂的业务流程,通过图形化的流程设计工具,可以方便地...
jbpm tomcat oracle 集成环境配置以及开发
### jbpm3.2.2在mysql中字段的类型的错误:解决方案与理解 #### 引言 在使用jbpm3.2.2(一个开源的工作流引擎)与MySQL数据库进行集成时,可能会遇到关于字段类型不匹配的问题。这通常发生在初始化数据库结构或...
1 这个项目是maven-web项目 jdk1.6 2 项目有完善的spring和jbpm集成方法,jbpm版本是6,jbpm5和jbpm6...3 用的数据库为mysql,在运行的时候,会自动在数据库中建立jbpm工作流的表。 4 可以根据自己的项目自行集成。
Jbpm+Spring+hibernate+struts2+mysql+c3p0项目部署