Activiti环境搭建详解

也是好久没有写博客了。以办公环境不能上网为由,当然这只是宽慰自己的借口而已,其实还是自己对技术放松了。也是自己想从体制内出来,重新回来互联网的怀抱中,重燃那颗程序员的心,想借着自学Activiti提高技术能力、重组知识架构。 

不得先吐槽一下:Activiti环境搭建也是自己遇见过最麻烦,耗时最长的,没有之一。 

自己搭建环境重要的参考连接是:

http://wenku.baidu.com/link?url=3qHTdB3HJSUL1Q3JtxAQZp1gAKuxrjY9mqjA43DzvgLMii_ASDsRU__E8u9aS0oyZeebrcq1pfFq6Ld1Bua8v4MthhxOHjY5-tfxB5DsPGC

 

       自己按照其他的野路子开始搭建了Activiti,但最后发现activiti的类导入不成功,查的资料是Maven的环境没有安装。按照上述链接先安装好Maven环境,再配置Activiti环境,经历种种问题最终通过。

 

程序版本:

JDK:1.7

TOMCAT:7.0

MYSQL:5.7

Eclipse:eclipse-jee-luna

Maven:3.3.3

Activiti:5.21

OS:Win7  64

 

1、JDK安装

配置好JAVA_HOME,CLASSPATH,PATH三个环境变量。用javac命令可验证成功与否。


2、TOMCAT安装

       下载解压后,配置CATALINA_HOME、PATH环境变量。


还需在Eclipse中进行配置Tomcat,如下链接所示。

http://jingyan.baidu.com/article/ca2d939dd90183eb6d31ce79.html

3、MYSQL安装

一键Next安装,选择开发者模式即可。

4、Eclipse安装

下载J2EE版本之后解压缩即可。

5、MAVEN配置

解压缩后,配置MAVEN_HOME,PATH两个环境变量,之后输入mvn-v来验证是否配置成功。


6、Eclipse中MAVEN配置

下载的是J2EE版本的eclipse的话,就不需要安装插件Maven Integration for Eclipse。直接可以按照下图进行配置。 

6.1指定到Maven解压缩的目录

6.2 在UserSetting中指定到目录conf下的settings.xml。这个xml只做了轻微的修改,指定了本地仓库路径而已。

  <!-- localRepository

   | The path to the local repository mavenwill use to store artifacts.

   |

   | Default: ${user.home}/.m2/repository

 <localRepository>/path/to/local/repo</localRepository>

  -->

  <localRepository>D:\maven_rep</localRepository> 



7、Eclipse中Activiti配置

Help-InstallNew Software进行安装,我采用的是在线安装方式。单击“Add”后输入“http://activiti.org/designer/update/”,进行安装Activitidesigner。


安装完成后,新建其他项目中有Activiti选项表明成功了哟!


办公机采用离线式安装的方式,下载activiti-designer-5.18.0.zip,提示缺少org.eclipse.emf.*,只需要将相对应的jar包拷贝到plugins目录中,再重启一下eclipse即可完成离线式安装。

 

8、项目搭建

8.1 Activit项目

       将解压缩后的两个war文件放在Tomcat中的webapps,启动TOMCAT,启动完成后会生成两个文件夹activiti-explorer和activiti-rest。

       将这两个文件夹下的WEB-INF\classes中的db.properties,修改如下所示,就可以连接mysql数据库了。

 

db=activiti

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/activiti

jdbc.username=root

jdbc.password=XXX

 

8.2 新建Maven项目

 

       File->New->Other新建Maven项目,单击Next出现以下对话框,如下所示,再单击Next


在如下对话框中,Filter输入webapp,过滤后选择org.apache.maven.archetype单击Next。


       在如下对话框中输入相关信息,单击next。


8.3 项目中配置Tomcat

       在Activiti项目右键“属性”,如下所示,在JavaBuild Path页签,添加。若没有JavaBuild Path,需要稍等一会等全部加载完成。



8.4  POM配置

修改Pom.xml文件,导入相关类库依赖,修改内容如下所示。修改完毕后,右键项目,选择Maven->更新项目。

 

<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">

 <modelVersion>4.0.0</modelVersion>

 <groupId>org.cyy.example</groupId>

 <artifactId>Activiti</artifactId>

 <packaging>war</packaging>

 <version>0.0.1-SNAPSHOT</version>

 <name>ActivitiMaven Webapp</name>

 <url>http://maven.apache.org</url>

 

<!-- Jar版本管理 -->

 <properties>     

    <jdk.version>1.7</jdk.version>  

    <springframework>4.0.2.RELEASE</springframework>  

    <hibernate>4.3.4.Final</hibernate>   

    <mysql.connector>5.1.39</mysql.connector>  

    <c3p0>0.9.1.2</c3p0>  

    <log4j>1.2.17</log4j>  

    <activiti>5.21.0</activiti>   

    <jstl>1.2</jstl>  

 </properties>          

 <dependencies>   

 <!-- Spring web mvc-->

  <dependency>   

   <groupId>org.springframework</groupId>   

   <artifactId>spring-webmvc</artifactId>

   <version>${springframework}</version>

  </dependency>     

  

<!-- Spring framework 4中的orm包已经单独拿出来了,所以要和hibernate集成,需要此包 -->  

    <dependency>

        <groupId>org.springframework</groupId>   

        <artifactId>spring-orm</artifactId>

        <version>${springframework}</version>

   </dependency> 

     

<!-- 提供JMSFreemarker,Quartz集成服务 -->

  <dependency>      

       <groupId>org.springframework</groupId>

       <artifactId>spring-context-support</artifactId>    

       <version>${springframework}</version>

   </dependency>  

   

<!-- Hibernate -->

  <dependency>   

       <groupId>org.hibernate</groupId>    

       <artifactId>hibernate-core</artifactId>

        <version>${hibernate}</version>

   </dependency>  

   

<!-- MySQL驱动 --> 

    <dependency>   

        <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

        <version>${mysql.connector}</version>   

    </dependency>  

    

    <!-- 连接池 -->  

    <dependency>   

        <groupId>c3p0</groupId>   

        <artifactId>c3p0</artifactId>    

        <version>${c3p0}</version>   

    </dependency>  

    

    <!-- log4j -->  

    <dependency>   

            <groupId>log4j</groupId>   

            <artifactId>log4j</artifactId>    

            <version>${log4j}</version>   

    </dependency>  

       

    <!-- slf4j --> 

    <dependency>

        <groupId>org.slf4j</groupId>

        <artifactId>jcl-over-slf4j</artifactId>

        <version>1.7.6</version>

    </dependency>

   

   <dependency>

       <groupId>org.slf4j</groupId>

       <artifactId>slf4j-log4j12</artifactId>

       <version>1.7.6</version>

   </dependency>

       

    <!-- jstl -->

       <dependency>   

           <groupId>jstl</groupId>

        <artifactId>jstl</artifactId>

            <version>${jstl}</version>

    </dependency>   

   

   <!-- activiti依赖 -->

   <dependency>   

       <groupId>org.activiti</groupId>    

       <artifactId>activiti-engine</artifactId>

        <version>${activiti}</version>

   </dependency>  

   

   <!-- activiti Spring集成 -->

   <dependency>   

    <groupId>org.activiti</groupId>   

        <artifactId>activiti-spring</artifactId>

        <version>${activiti}</version>

   </dependency>

 

   <dependency>

     <groupId>junit</groupId>

     <artifactId>junit</artifactId>

     <version>4.11</version>

     <scope>test</scope>

   </dependency>

   

 </dependencies>

 <build>

   <finalName>Activiti</finalName>

   

   <plugins>   

    <!-- compiler插件,设定JDK版本 -->   

    <plugin>    

        <groupId>org.apache.maven.plugins</groupId>    

        <artifactId>maven-compiler-plugin</artifactId>

            <version>3.3</version>    

            <configuration>     

                <source>${jdk.version}</source>     

                <target>${jdk.version}</target>     

                <encoding>UTF8</encoding>       

                <showWarnings>true</showWarnings>      

            </configuration>      

        </plugin>   

    </plugins>

   

 </build>

</project>

 

后续通过Junit调试,发现Junit类导入不成功,或者slf4j等相关错误,请确认Maven本地仓库的类库版本。解决方法就是去搜类库的关键字看有哪些版本,再在pom.xml文件进行对应修改。

其中还有一个log4j报错如下:

log4j:WARN Noappenders could be found for logger (org.activiti.engine.impl.test.TestHelper).

log4j:WARN Pleaseinitialize the log4j system properly.

log4j:WARN Seehttp://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

解决方法就是将Tomcat下activiti-explorer目录下的log4j.properties文件复制到与activiti.cfg.xml同级目录下即可。

 

8.5  数据库配置

用navicat连接上mysql,先创建activiti数据库,再运行Activiti解压缩目录下的database中create脚本即可。此处不详诉,接下来重点介绍activiti.cfg.xml中数据库的配置。

<beansxmlns="http://www.springframework.org/schema/beans"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xsi:schemaLocation="http://www.springframework.org/schema/beans

                http://www.springframework.org/schema/beans/spring-beans.xsd">

 

    <beanid="processEngineConfiguration"class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">

 

        <propertyname="jdbcUrl"value="jdbc:mysql://localhost:3306/activiti"/>

        <propertyname="jdbcDriver"value="com.mysql.jdbc.Driver"/>

        <propertyname="jdbcUsername"value="root"/>

    <propertyname="jdbcPassword"value="root"/>

 

    <propertyname="databaseSchemaUpdate"value="true"/> 

    <propertyname="jobExecutorActivate"value="false"/>    

        <propertyname="asyncExecutorEnabled"value="true"/>   

        <propertyname="asyncExecutorActivate"value="false"/> 

    <propertyname="mailServerHost"value="mail.my-corp.com"/>    

        <propertyname="mailServerPort"value="5025"/>

    </bean>

</beans>

 

8.6  可以按照《Activiti实战》开始学习咯。

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值