最近一个星期一直在学习和使用Activiti,这里是我从网上收集来的和自己在学习中遇到的一些问题及解决方案。
1、关于Activiti的一些常见问题的解答
http://www.blogjava.net/lewhwa/archive/2010/12/11/340365.html
2、个人感觉Activiti5.6版本的实用性要比5.7版本好一点,两个版本我都试了下,以下是我在Activiti5.6上进行的安装学习。
3、安装前的准备工作
下载使用Activiti前需要先安装Ant和jdk1.5+环境,设置环境变量ANT_HOME和JAVA_HOME,即打开添加环境变量,ANT_HOME=“你的ant的安装路径”,JAVA_HOME=“你的jdk的安装路径”,并将%ANT_HOME%\bin、%JAVA_HOME%\bin设置到path环境变量中。
4、数据库方面的准备
下载Activiti5.6,解压导到指定的目录。打开文件“setup\build.properties”修改db=h2,将后面的h2改为你所用到的数据库类型,如这里以mysql为例:db=mysql
创建名称为activiti的空数据库,连接帐号、密码设置一下。
5、修改浏览器的可执行文件路径
打开文件“setup\build.xml”修改属性windows.browser的值为浏览器的启动文件对应的位置。如我一直使用chrome,配置如下:
<propertyname="windows.browser" value="C:\Documents andSettings\Jason\Local Settings\ApplicationData\Google\Chrome\Application\chrome.exe" />
修改这个的目的是方便下面的"ant demo.start"结束后自动打开浏览器访问相关演示模块的首页。因为IE和火狐,对这些演示模块页面支持的不好,只有chrome是支持的最全面的。
6、有关tomcat方面的
检查一下你的电脑是否已经使用了tomcat服务,如果使用了tomcat服务,得停掉,否测会冲突。顺便检查一下8080端口有没有被占用,否测也会冲突导致安装失败。在这里,是把tomcat作为一个容器,嵌入到Activiti里面的,完成第七步后,你可以在activiti-5.6\apps\apache-tomcat-6.0.32目录下看到,下次再使用Activiti时,可以进入bin文件夹内手动启动tomcat。
7、 以上几步完成后接下来就是安装官网的例子了
命令行切换到“setup/"目录下,运行"antdemo.start",等待整个安装过程自动完成,完毕后默认会自动打开浏览器。
在安装使用过程中遇到如下一些问题及解决方案:
1、activiti-modeler-5.6.war没有自动下载到官网http://activiti.org/downloads/activiti-modeler-5.6.war 手动下载下来,放在activiti-5.6\apps\apache-tomcat-6.0.32\webapps\下,会自动发布的。
2、tomcat显示的中文乱码问题
修改文件apps\apache-tomcat-6.0.32\conf\logging.properties,增加如下一行的配置: java.util.logging.ConsoleHandler.encoding = GBK
貌似这个只能改善一些显示,还有一些依旧是乱码。
3、 使用activiti-modeler保存流程图前后台均会报错
创建目录apps\apache-tomcat-6.0.32\endorsed,并将jar文件"apps\apache-tomcat-6.0.32\webapps\activiti-modeler\WEB-INF\lib\jaxb-api.jar"复制到该目录下。
4、访问http://localhost:8080/activiti-administrator报错
因为 activiti-administrator作为一个独立的功能组件,使用的是Spring架构,所以进入activiti-5.6\apps\apache-tomcat-6.0.32\webapps\activiti-administrator\WEB-INF目录,找到applicationContext.xml文件,把dataSource做如下配置:
<bean id="dataSource" lazy-init="false" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy"> <property name="targetDataSource"> <bean class="org.springframework.jdbc.datasource.SimpleDriverDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/activiti?autoReconnect=true" /> <property name="username" value="activiti" /> <property name="password" value="activiti" /> </bean> </property> </bean>h2改为mysql,连接的各个属性做相应的修改。同时修改
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration" lazy-init="true"> <property name="databaseType" value="mysql" /> <property name="dataSource" ref="dataSource" /> <property name="transactionManager" ref="transactionManager" /> <property name="databaseSchemaUpdate" value="true" /> <property name="jobExecutorActivate" value="false" /> </bean>中的databaseType属性值由h2改为mysql。
然后从activiti-5.6\setup\files\dependencies\libs路径下把mysql-connector-java-5.1.6.jar包拷贝到activiti-5.6\apps\apache-tomcat-6.0.32\webapps\activiti-administrator\WEB-INF\lib路径下,重启tomcat就好了。
5、进入: http://localhost:8080/activiti-kickstart页面会报空指针异常解决的方法1.拷贝webapps\activiti-rest\WEB-INF\lib\activiti-cfg.jar到webapps\activiti-kickstart\WEB-INF\lib下覆盖同名文件。
2.将mysql-connector-java的jar包拷贝到webapps\activiti-kickstart\WEB-INF\lib即可。
本文参考页面: http://blog.csdn.net/martinwang1984/article/details/6585117http://vanhelp-songst.iteye.com/blog/1129807