1.使用maven新建web应用,如jbpmweb
2.在pom.xml中增加repository,因部分依赖jar在默认库(repo1.maven.org/maven2)中不存在
<repositories>
<repository>
<id>spring</id>
<url>http://repo.springframework.org/release</url>
</repository>
<repository>
<id>jboss</id>
<url>https://repository.jboss.org/nexus/content/groups/public</url>
</repository>
<repository>
<id>maven</id>
<url>http://repo1.maven.org/maven2/</url>
</repository>
</repositories>
2.在pom.xml中增加依赖
<properties>
<spring.version>3.1.0.RELEASE</spring.version>
</properties>
<!--jbpm开发包-->
<groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm</artifactId>
<version>4.4</version>
</dependency>
<!--spring依赖包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>
<!--oracle驱动包-->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.1.0</version>
</dependency>
3.更改spring的bean配置文件,假设bean配置文件为jbpmweb/WEB-INF/spring/appservice.xml
把jbpm-4.4/install/src/cfg/spring/applicationContext.xml中的所有bean定义粘贴到appservice.xml
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper" />
<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:jbpm.hibernate.cfg.xml" />
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="@jdbc.driver@" />
<property name="url" value="@jdbc.url@" />
<property name="username" value="@jdbc.username@" />
<property name="password" value="@jdbc.password@" />
</bean>
4.修改appservice.xml中的springHelper的配置为
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper" >
<property name="jbpmCfg" value="jbpm.cfg.xml" />
</bean>
5.修改appservice.xml中的dataSource为实际值
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
<property name="username" value="user" />
<property name="password" value="pwd" />
</bean>
6.复制文件jbpm-4.4/install/src/cfg/jbpm/spring.jbpm.cfg.xml到
jbpmweb/WEB-INF/classes,改名为jbpm.cfg.xml
7.复制文件jbpm-4.4/install/src/cfg/hibernate/spring/oracle.hibernate.cfg.xml到
jbpmweb/WEB-INF/classes,改名为jbpm.hibernate.cfg.xml
8.至此,可以在eclipse中开发jbpm程序.如果要布署到tomcat中,还需要追加jar包到应用的lib目录下
追加的jar包如下:
spring-hibernate3-2.0.8.jar
activation.jar
antlr.jar
antlr-runtime.jar
bsh.jar
commons-collections.jar
commons-logging.jar
dom4j.jar
drools-api.jar
drools-core.jar
drools-compiler.jar
freemarker.jar
groovy-all.jar
hibernate-core.jar
hibernate-cglib-repack.jar
janino.jar
javassist.jar
jbpm-spi.jar
jbpm-tomcat6.jar
joda-time.jar
jta.jar
juel-api.jar
juel-engine.jar
juel-impl.jar
livetribe-jsr223.jar
log4j.jar
mail.jar
mvel2.jar
slf4j-api.jar
slf4j-jdk14.jar
9.可以参考jbpm-4.4/instal/build.xml中的自动布署任务install.jbpm.into.tomcat来写自已的jar追加任务
<target name="install.jbpm" description="Deploy jBPM to jbpmweb">
<copy todir="${tomcat.home}/webapps/jbpmweb/WEB-INF/lib" overwrite="true">
<fileset dir="${jbpm.home}">
<include name="jbpm.jar" />
</fileset>
<fileset dir="${jbpm.home}/hibernatelib">
<include name="spring-hibernate3-2.0.8.jar" />
</fileset>
<fileset dir="${jbpm.home}/lib">
<include name="activation.jar" />
<include name="antlr.jar" />
<include name="antlr-runtime.jar" />
<include name="bsh.jar" />
<include name="commons-collections.jar" />
<include name="commons-logging.jar" />
<include name="dom4j.jar" />
<include name="drools-api.jar" />
<include name="drools-core.jar" />
<include name="drools-compiler.jar" />
<include name="freemarker.jar" />
<include name="groovy-all.jar" />
<include name="hibernate-core.jar" />
<include name="hibernate-cglib-repack.jar" />
<include name="janino.jar" />
<include name="javassist.jar" />
<include name="jbpm-spi.jar" />
<include name="jbpm-tomcat6.jar" />
<include name="joda-time.jar" />
<include name="jta.jar" />
<include name="juel*.jar" />
<include name="livetribe-jsr223.jar" />
<include name="log4j.jar" />
<include name="mail.jar" />
<include name="mvel2.jar" />
<include name="slf4j-api.jar" />
<include name="slf4j-jdk14.jar" />
</fileset>
</copy>
</target>