流程引擎Activiti系列:在eclipse中搭建咖啡兔的Activiti演示工程中的各種坑及其解決方法(kft-activiti-demo-no-maven)


近期在學習activiti,打算基於現有的框架,比如activiti-explorer或者咖啡兔的示例工程 kft-activiti-demo,在此基礎上添加自己的業務流程,看看是否可以走通,以及這個過程要走通,需要編寫哪些方面的代碼,然后選定使用kft-activiti-demo來作為試點,由於公司的網絡無法連接maven庫,所以選擇了kft-activiti-demo-no-maven版本來測試,由於對java技術棧不熟悉,所以搭建環境的過程中引出了各種問題,下面將詳細記錄搭建的步驟,以避免后來人繼續掉坑里。

 
一、開發環境
windows 10 64位
jdk 1.8
Eclipse Java EE IDE for Web Developers. 4.5.0
tomcat 7.0.64
 
二、相關資源
1)參照了  https://github.com/henryyan/kft-activiti-demo/wiki 中的說明;
2)從 https://github.com/henryyan/kft-activiti-demo/zipball/no-maven 下載了henryyan-kft-activiti-demo-1.10.2-no-maven-5-g9340b4a.zip
 
三、解決各種編譯錯誤
1)將henryyan-kft-activiti-demo-1.10.2-no-maven-5-g9340b4a.zip 解壓到henryyan-kft-activiti-demo-9340b4a_nomaven;
2)使用eclipse打開該工程
然后點擊finish即可,在eclipse中顯示如下:
3)編譯該工程,通過如下按鈕進行;
4)編譯之后會提示如下錯誤:
下面逐個解決;
    a)javax.servlet.jsp.JspException cannot be resolved to a type、javax.servlet.jsp.PageContext cannot be resolved to a type
   解決這個異常需要加入:jsp-api.jar在tomcat安裝目錄的libs中有、同樣如果servlet異常需要加入servlet-api.jar tomcat也有的,在當前工程中,主要是由於工程中配置的是要求tomcat 6.0,但是在當前eclipse中配置的是tomcat 7.0.64版本,所以需要按照下圖所示,在server library中選擇當前eclipse中配置的web服務器 tomcat 7.0,確定之后就會自動引入該tomcat的lib目錄下的jar包
    引入之后如下:
  
    然后再次重新編譯,應該只剩下如下兩個錯誤:
  b)cvc-complex-type.2.4.a: Invalid content was found starting with element 'display-name'.
    對於該問題,只需要雙擊打開web.xml文件,然后把有問題的這行刪除即可,初步懷疑是在最新版本的web.xml中,已經取消了display-name配置項。
 
    c)Target runtime Tomcat v6.0.32-eclipse is not defined.
    該問題在如下路徑(   http://blog.csdn.net/xw13106209/article/details/5910358       ) 中找到了解決方法,說到底就是要修改工程目錄下的.settings文件夾里org.eclipse.wst.common.project.facet.core.xml文件。他當前的內容是:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <runtime name="Tomcat v6.0.32-eclipse"/>
  <fixed facet="wst.jsdt.web"/>
  <fixed facet="jst.web"/>
  <fixed facet="java"/>
  <installed facet="java" version="1.6"/>
  <installed facet="jst.web" version="2.5"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
 
    要把他改為:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <runtime name="Apache Tomcat v7.0"/>
  <fixed facet="java"/>
  <fixed facet="wst.jsdt.web"/>
  <fixed facet="jst.web"/>
  <installed facet="java" version="1.8"/>
  <installed facet="jst.web" version="3.0"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
    
    在工程上右鍵刷新一下。
    
     然后clean, 重新編譯之后,應該還有如下一個錯誤:
    
 
    d)Java compiler level does not match the version of the installed Java project facet.
    在工程屬性中修改當前工程的java 編譯器,改為當前安裝的版本即可,在本例中我安裝的是1.8,那么選擇1.8再重新編譯,應該就沒有錯誤了。

   
四、部署     
    在項目上右鍵 run as ->run on server,彈出如下對話框,選擇一個tomcat服務器,點擊finish即可。
       
啟動之后,會顯示如下頁面:
 
如果是第一次使用,在輸入用戶名和密碼之后,會提示如下錯誤:
這是因為h2數據庫沒有初始化,需要按照如下步驟做初始化。
2)把該jar包拷貝到某路徑,
3)確保剛剛啟動的eclipse已經退出運行狀態;
4)然后在控制台中運行 java -jar h2-1.3.167.jar,然后會在瀏覽器中彈出如下界面:
4)在jdbc url中輸入:jdbc:h2:file:~/kft-activiti-demo;AUTO_SERVER=TRUE
然后點擊connect,顯示界面如下:
然后依次執行源碼目錄下的以下sql腳本,將腳本內容拷貝到上述界面的文本框中,點擊Run執行。
+resources\sql\h2\create
    -activiti.h2.create.engine.sql
    -activiti.h2.create.history.sql
    -activiti.h2.create.identity.sql
+resources\sql\h2
    -data.sql
執行好完之后,應該包括如下這些表:

然后退出控制台,重新再eclipse 中 run as -> run on server,這次再輸入用戶名、密碼,就可以正常登陸了。
登錄之后界面如下圖所示:
 
 
好了,環境搭建完成,可以開始學習源碼了。
 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM