隨筆-67  評(píng)論-522  文章-0  trackbacks-0
              大象剛剛接觸jBPM,經(jīng)過(guò)這幾天的折騰,終于把jbpm-console這個(gè)項(xiàng)目在Tomcat6上布署成功了,現(xiàn)在把這幾天來(lái)的學(xué)習(xí)經(jīng)驗(yàn)?zāi)贸鰜?lái)和大家分享一下。(結(jié)尾處有相關(guān)JAR包和MySQL及SQL Server 2000腳本下載)
              系統(tǒng)環(huán)境:windowsXP-SP2  JDK1.5.0_09  jbpm-jpdl-3.2.2  MySQL5.0.27  Tomcat6.0.10  MSSQL 2000
              1、安裝JDK1.5.0_09

                 不必一定要按我的版本來(lái)安裝,不過(guò)至少JDK應(yīng)該在1.5以上,JDK安裝好以后,設(shè)置PATHCLASSPATH環(huán)境變量。
              2、安裝Tomcat6.0.10
                 這個(gè)沒(méi)什么好說(shuō)的,請(qǐng)用6.0的版本,因?yàn)榇笙鬀](méi)在5.0或5.5上測(cè)試過(guò),而且這幾個(gè)版本之間有很大的不同,為了能盡快上手,還是按照我寫的來(lái)吧。^_^ 
              3、安裝MySQL5.0.27
                 MySQL安裝中采用默認(rèn)安裝即可,字符集不用設(shè)置為GB2312GBK,這樣做比較通用(大象用的MySQL沒(méi)有設(shè)置)。
              4、安裝Ant-1.7.0
                 apache網(wǎng)站上下載Ant,然后解壓,設(shè)置PATH環(huán)境變量,在CMD中鍵入ant -version 如果看到

                 Apache Ant version 1.7.0 compiled on December 13 2006  那說(shuō)明你的PATH環(huán)境已經(jīng)設(shè)置好了。)
              5、安裝jbpm-jpdl-3.2.2
                 下載jbpm-jpdl-suite-3.2.2,然后解壓就行,直接放在根目錄下,比如:D:\jbpm-jpdl-3.2.2,這個(gè)版本是包含所有的一整套工具,目錄下主要包含以下幾個(gè)子目錄:
                 config —— jBPMHibernatelog4j的配置文件
                 db ——
          各種數(shù)據(jù)庫(kù)的SQL語(yǔ)句
                 deploy ——
          已經(jīng)打包好的war
                 designer —— jBPM
          Eclipse插件,具體在eclipse子目錄中
                 doc —— API
          文檔及用戶使用向?qū)?span lang="EN-US">
                 examples —— jBPM
          自帶的例子程序
                 lib ——
          依賴的第三方依賴類庫(kù)
                 server ——
          一個(gè)已經(jīng)配置好了的基于JBossjBPM示例
                 src —— jBPM的源代碼
                 jbpm-jpdl-suite-3.2.2的下載地址:http://sourceforge.net/project/showfiles.php?group_id=70542
                          注意看下面一個(gè)鏈接:View older releases from the f) jBPM jPDL 3 package » 這是jbpm以前的版本
                  6、安裝Eclipse3.2.1MyEclipse5.1.0GA
                         我使用的是一種整合版本,就是解壓后可以直接使用,eclipsemyeclipse已經(jīng)整合好了(嘿嘿,感覺(jué)非常方便,我自己還做了一個(gè)Eclipse3.3MyEclipse6.0的整合版,詳情請(qǐng)看:詳解Eclipse+MyEclipse完全綠色版制作方法),版本比我的高應(yīng)該沒(méi)關(guān)系,雖然沒(méi)試過(guò),但網(wǎng)上有很多人都在高版本上做過(guò),應(yīng)該沒(méi)問(wèn)題。這里就不說(shuō)安裝方法了,網(wǎng)上有很多相關(guān)資料。
             7、安裝jbpm開發(fā)插件
                雖然布署jbpm-console這個(gè)項(xiàng)目不需要用到開發(fā)插件,但為了以后的開發(fā),在這里我還是說(shuō)一下,大象用的版本是3.0.13,為什么使用這個(gè)版本呢?因?yàn)槲以囘^(guò)最新的3.1.3.sp2版,里面可視化編輯流程里左下角沒(méi)有swimlanes標(biāo)簽,而3.0.13的版本中卻有。
                3.0.13的下載地址:http://sourceforge.net/project/showfiles.php?group_id=70542&package_id=116692 這個(gè)頁(yè)面可以找到所有的插件版本,當(dāng)然包括最新版。
                下面來(lái)說(shuō)下我的安裝方法:

                 看到這紅線框的兩個(gè)文件夾了吧,大象前面說(shuō)了,我用的是一種整合版本,解壓后就可以直接用了,所以這兩個(gè)文件夾早就已經(jīng)存在了,所以如果你們要用的話就像這樣建兩個(gè)文件夾吧,ThirdPlugins是放第三方插件的,Links是放ini配置文件的,下面都會(huì)有詳細(xì)介紹。
                 將下載的jbpm-gpd-3.0.13解壓,復(fù)制整個(gè)eclipse文件夾,進(jìn)入ThirdPlugins下,新建一文件夾,命名jbpm-gpd-3.0.13,再在此目錄下粘貼eclipse文件夾
           
                 另外還需要將plugins目錄下的jar包作一下修改,只保留如下兩個(gè)jar包,因?yàn)槠渌鼛讉€(gè)jar包在MyEclipse中也有,啟動(dòng)eclipse之后會(huì)發(fā)生沖突,而且千萬(wàn)不要想當(dāng)然的,在myeclipse中把同名的jar包用高版本替換,不然你會(huì)發(fā)現(xiàn)啟動(dòng)之后全是錯(cuò)誤,嘿嘿,大象試過(guò),有著血一樣的教訓(xùn),請(qǐng)大家千萬(wàn)不要重蹈覆轍。
           
                 此文件內(nèi)容為:path=ThirdPlugins/jbpm-gpd-3.0.13
                 OK,到此,插件安裝已經(jīng)全部完成,另外還需要在eclipse中對(duì)jBPM作一下設(shè)置,同樣為了以后開發(fā)作準(zhǔn)備。
                 啟動(dòng)eclipse,點(diǎn)擊Windows->Preference,中文版為"窗口"->"選項(xiàng)",可以看到:
           
                 點(diǎn)擊Add,選擇Search...找到你解壓的jbpm-jpdl-3.2.2文件夾,然后填寫Name,點(diǎn)擊OK。回到主界面,此時(shí)還要勾選Name下的復(fù)選框,點(diǎn)擊Apply

           
                 Server Deployment里面的東西是用來(lái)布署流程用的,前提是你得先發(fā)布好jbpm-console控制臺(tái)這個(gè)程序,保證這個(gè)程序跑起來(lái)沒(méi)有問(wèn)題,否則是不會(huì)成功的。8080端口號(hào)和你服務(wù)器保持一致,如TomcatJBoss,另外布署一個(gè)新流程時(shí),一定要先啟動(dòng)服務(wù)器。jbpm-console這個(gè)名字是默認(rèn)發(fā)布到服務(wù)器上的名字,比如Tomcat中,webapps下使用的名字和這個(gè)要一樣,那個(gè)變了,這個(gè)也要跟著變,還是保持默認(rèn)就行。upload不要作修改,這些其實(shí)與布署jbpm-console應(yīng)用沒(méi)有多大關(guān)系,大家看看就行。

              8、布署jbpm-console
                 jbpm-jpdl-3.2.2\deploy目錄下可以看到jbpm-console.warbuild.xml(當(dāng)然還有其它文件,現(xiàn)在我們只關(guān)心這兩個(gè)),在CMD中,進(jìn)入jbpm-jpdl-3.2.2\deploy目錄下,使用命令:ant customize.console.for.tomcat 然后我們?cè)?/span>deploy下可以看到多出來(lái)customizedtarget兩個(gè)文件夾,進(jìn)入customized,可以看到jbpm-console.war這個(gè)文件,用winrar將其解壓到當(dāng)前目錄下,這時(shí)我們就得到了jbpm-console的發(fā)布應(yīng)用了,不過(guò)別高興,還有很多工作沒(méi)做呢。這里我來(lái)說(shuō)下,為什么使用ant customize.console.for.tomcat 這個(gè)命令,打開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.tomcattagetname,所以這里使用這個(gè)命令就不覺(jué)得奇怪了,大象開始也覺(jué)得很迷惑,為什么網(wǎng)上都這樣寫,卻不寫為什么,看來(lái)是問(wèn)題太簡(jiǎn)單了,那些大大們想來(lái)這根本就不是問(wèn)題。呵呵呵~~~
              a、加入必要的jar包
                    jbpm-console\WEB-INF\lib下要加入以下幾個(gè)jar包:jboss-j2ee.jarcommons-collections.jarjsf-api.jarjsf-impl.jar,刪除jsf-api-14.jarjsf-impl-14.jar這兩個(gè)jar包。
              b、建jBPM數(shù)據(jù)庫(kù)
                 jbpm-jpdl-3.2.2\db下找到jbpm.jpdl.mysql.sql,打開它刪除前面的alter table JBPM_XX部分,保留后面的,然后再在每句SQL語(yǔ)句后面加上分號(hào),檢查一下有沒(méi)有遺漏。然后在MySQL中新建一個(gè)jbpm數(shù)據(jù)庫(kù),將sql腳本導(dǎo)入進(jìn)來(lái),大象使用的是SQLyog可視化操作工具,其它相關(guān)的可視化工具非常多,可以任選一種使用,如果你不用這些工具來(lái)簡(jiǎn)化開發(fā),那就配置mysqlPATH環(huán)境變量,在命令行中操作吧。^_^
                 SQLyog中操作如下:
                 1、點(diǎn)擊菜單"DB"->"Create Database",輸入jbpm
                 2、點(diǎn)擊菜單"Tools"->"Import From SQL Statements...",在彈出窗口中點(diǎn)擊"..."按鈕,選擇jbpm.jpdl.mysql.sql文件,然后再點(diǎn)擊Execute按鈕。請(qǐng)?jiān)邳c(diǎn)擊Execute前確保sql腳本沒(méi)有語(yǔ)法錯(cuò)誤,否則是不可能執(zhí)行成功的。
              c、修改hibernate.cfg.xml文件
                 修改jbpm-jpdl-3.2.2\deploy\customized\jbpm-console\WEB-INF\classeshibernate.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">自己的密碼(無(wú)密碼就空著)</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前面,我發(fā)現(xiàn)網(wǎng)上很多帖子里都沒(méi)有提到這一點(diǎn),不知道他們的程序是怎么跑起來(lái)的?殘念ING~~~
          <listener> 
              <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
          </listener>

          <listener>
              <listener-class>com.sun.faces.application.WebappLifecycleListener</listener-class> 
          </listener>
                 這兩個(gè)監(jiān)聽(tīng)器很關(guān)鍵,大象先一直沒(méi)有成功的原因就是沒(méi)有加這個(gè),而這兩個(gè)監(jiān)聽(tīng)器都在jsf-impl.jar包中,jbpm-console這個(gè)應(yīng)用可是用jsf來(lái)實(shí)現(xiàn)的,如果你不加,則會(huì)產(chǎn)生如下這些錯(cuò)誤:

          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
          嚴(yán)重: Servlet /jbpm-console threw load() exception
              e、修改Tomcat安全驗(yàn)證
                  有兩種方法修改安全驗(yàn)證,第一種是修改%TOMCAT_HOME%\conf下的tomcat-users.xml文件,第二種是在%TOMCAT_HOME%\conf目錄下再新建Catalina文件夾,然后再在Catalina文件夾下建localhost文件夾,在此目錄下建jbpm-console.xml文件。
                 i、修改tomcat-users.xml文件
                    修改前請(qǐng)備份tomcat-users.xml文件,修改后的內(nèi)容如下:
          <?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>
                    使用這種方式來(lái)處理安全驗(yàn)證將不用考慮向數(shù)據(jù)庫(kù)中插入組,角色,用戶之類的數(shù)據(jù),完全由Tomcat來(lái)管理
                 ii、新建jbpm-console.xml文件
                    使用這種方式將需要向數(shù)據(jù)庫(kù)中插入數(shù)據(jù),由jBPM來(lái)管理安全驗(yàn)證,jbpm-console.xml文件內(nèi)容如下:
          <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>
                    需要向數(shù)據(jù)庫(kù)中插入的數(shù)據(jù):
                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);
                 這兩種方法任選一種即可。
                  
          此時(shí)基本工作都已經(jīng)做完,不過(guò)在發(fā)布前,不要忘了,將MySQL的驅(qū)動(dòng)拷貝到%TOMCAT_HOME%\lib目錄下,然后就可以將jbpm-console文件夾復(fù)制到%TOMCAT_HOME%\webapps目錄下了,接著在bin目錄下雙擊tomcat6.exe啟動(dòng)服務(wù)器,等啟動(dòng)過(guò)程執(zhí)行完后,打開IE,輸入http://localhost:8080/jbpm-console 回車,應(yīng)該就能看到jbpm控制臺(tái)界面了。
           
              
                 到此,在MySQL下的布署就全部結(jié)束了,如果能看到這個(gè)界面,那恭喜你,你終于成功了!
              下面接著說(shuō)下如何將MySQL數(shù)據(jù)庫(kù)換成MS SQL Server 2000,其實(shí)很簡(jiǎn)單,如果在MySQL下布署成功了,只需要將hibernate.cfg.xml文件里的配置改成MS SQL Server 2000的連接方式就行了,另外在2000中建立jbpm的數(shù)據(jù)庫(kù)也是必要的。
              9、使用SQL Server 2000數(shù)據(jù)庫(kù)
                 jbpm-jpdl-3.2.2\db下找到jbpm.jpdl.mssql.sql,打開后刪除alter table JBPM_XXdrop table JBPM_XX這些語(yǔ)句,這些東東都是用來(lái)在以前的版本上做升級(jí)用的,我們是新建數(shù)據(jù)庫(kù)當(dāng)然用不到這些了。在SQL Server中新建jbpm數(shù)據(jù)庫(kù),COPY剩下的sql語(yǔ)句,在查詢分析器里粘貼,然后執(zhí)行,這時(shí)會(huì)有很多警告產(chǎn)生,如下:
          警告: 已創(chuàng)建表 'JBPM_DELEGATION',但其最大行大小(8300)超過(guò)了每行的最大字節(jié)數(shù)(8060)。如果結(jié)果行長(zhǎng)度超過(guò) 8060 字節(jié),則此表中行的 INSERT 或 UPDATE 將失敗。   

          警告: 已創(chuàng)建表 
          'JBPM_LOG',但其最大行大小(18321)超過(guò)了每行的最大字節(jié)數(shù)(8060)。如果結(jié)果行長(zhǎng)度超過(guò) 8060 字節(jié),則此表中行的 INSERT 或 UPDATE 將失敗。
                這些不用管它,接下來(lái)修改hiberate.cfg.xml文件,大象采用的是JTDS驅(qū)動(dòng)的連接方式,修改后的內(nèi)容如下:
              <!-- 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">自己的密碼(無(wú)密碼就空著)</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的驅(qū)動(dòng)拷貝到%TOMCAT_HOME%\lib目錄下,如果采用的是Tomcat安全驗(yàn)證,此時(shí)就不用向數(shù)據(jù)庫(kù)插入數(shù)據(jù),直接就可以啟動(dòng)服務(wù)器運(yùn)行了。如果采用的是jBPM來(lái)管理安全驗(yàn)證,此時(shí)則需要將前面提到的數(shù)據(jù)插入數(shù)據(jù)庫(kù)中,在插入前需要修改一下,將每條記錄前的ID號(hào)去掉,因?yàn)閿?shù)據(jù)庫(kù)中對(duì)此字段已經(jīng)作了標(biāo)識(shí),不能手動(dòng)對(duì)它設(shè)置。數(shù)據(jù)插入后,就啟動(dòng)服務(wù)器看下吧!
               寫到這里,關(guān)于jbpm-console所有的布署都講完了,大象以上所說(shuō)的全部都是親自在電腦上一步一步的做過(guò),絕不會(huì)胡亂copy一下網(wǎng)上的東東發(fā)出來(lái)。如有什么問(wèn)題,希望和大家一起交流。(如果圖片不能顯示,在其上點(diǎn)擊右鍵,選擇"顯示圖片")
               需要使用的JAR包: 點(diǎn)擊下載
               SQL腳本: 點(diǎn)擊下載
               本文為菠蘿大象原創(chuàng),如要轉(zhuǎn)載請(qǐng)注明出處。
          posted on 2008-08-06 17:25 菠蘿大象 閱讀(9098) 評(píng)論(10)  編輯  收藏 所屬分類: jBPM

          評(píng)論:
          # re: [原創(chuàng)] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000布署詳解 2008-08-06 20:18 | 路依
          2008-8-6 20:15:27 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Error listenerStart
          2008-8-6 20:15:27 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Context [/jbpm-console] startup failed due to previous errors
          2008-8-6 20:15:27 org.apache.coyote.http11.Http11AprProtocol start
          信息: Starting Coyote HTTP/1.1 on http-8080


          按你說(shuō)的一步步來(lái)的。TOMCAT報(bào)這個(gè)錯(cuò),網(wǎng)上也有同樣的錯(cuò)誤,可沒(méi)人回復(fù)。不知道你知道不?  回復(fù)  更多評(píng)論
            
          # re: [原創(chuàng)] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000布署詳解 2008-08-06 22:04 | 菠蘿大象
          你這個(gè)問(wèn)題看來(lái)好像是Tomcat中的lib里面沒(méi)有catalina.jar這個(gè)文件導(dǎo)致的,另外我問(wèn)下,你確定是按我寫的這些環(huán)境做的嗎?我其實(shí)在公司和家里三臺(tái)電腦上都測(cè)試過(guò),確保沒(méi)問(wèn)題了,我才這樣寫的,而且對(duì)應(yīng)網(wǎng)上的做法,一般會(huì)出現(xiàn)錯(cuò)誤的地方還專門測(cè)試過(guò),所以,你先看下你的環(huán)境或是jar包都放好了沒(méi),配置文件有沒(méi)有錯(cuò)誤,有時(shí)候一些不注意的小細(xì)節(jié)會(huì)導(dǎo)致調(diào)試很久都找不到出錯(cuò)的地方。  回復(fù)  更多評(píng)論
            
          # re: [原創(chuàng)] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000布署詳解 2008-08-07 09:15 | 路依
          應(yīng)該是jar包的問(wèn)題。我下載你的jar包覆蓋我的就可以了。具體哪個(gè)現(xiàn)在還沒(méi)測(cè)試。等有時(shí)間了我測(cè)試下發(fā)上來(lái)。  回復(fù)  更多評(píng)論
            
          # re: [原創(chuàng)] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解[未登錄](méi) 2008-12-03 14:56 | zhangy
          勞駕 出現(xiàn)這樣的問(wèn)題 web.xml中加了<listener>
          <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
          </listener>

          <listener>
          <listener-class>com.sun.faces.application.WebappLifecycleListener</listener-class>
          </listener>后出現(xiàn)
          2008-8-6 20:15:27 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Error listenerStart
          2008-8-6 20:15:27 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Context [/jbpm-console] startup failed due to previous errors
          2008-8-6 20:15:27 org.apache.coyote.http11.Http11AprProtocol start
          信息: Starting Coyote HTTP/1.1 on http-8080

          按你說(shuō)的一步步來(lái)的。TOMCAT報(bào)這個(gè)錯(cuò),
          web.xml不加上述代碼后 tomcat正常運(yùn)行 沒(méi)有問(wèn)題
          但是洅瀏覽器中鍵入http://localhost:8989/jbpm-console/sa/processes.jsf后回車
          tomcat報(bào)這樣的異常了


          警告: Unexpected error forwarding to login page
          javax.servlet.ServletException: Servlet.init() for servlet Faces Servlet threw exception
          at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1085)
          at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:701)
          at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:663)
          at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
          at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
          ispatcher.java:409)
          at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
          patcher.java:312)
          at org.apache.catalina.authenticator.FormAuthenticator.authenticate(Form
          Authenticator.java:220)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
          torBase.java:504)
          at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
          eContext.java:102)
          at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
          a:520)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
          ava:137)
          at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
          eContext.java:104)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
          ava:118)
          at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
          eContext.java:102)
          at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
          a:520)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
          ve.java:109)
          at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
          eContext.java:104)
          at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
          a:520)
          at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

          at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16
          0)
          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
          :799)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
          ssConnection(Http11Protocol.java:705)
          at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
          :577)
          at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
          ool.java:684)
          at java.lang.Thread.run(Thread.java:595)
          怎么辦????  回復(fù)  更多評(píng)論
            
          # re: [原創(chuàng)] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解 2008-12-18 15:23 | 獨(dú)上太行
          警告: No default ExpressionFactory from Faces Implementation, attempting to load
          from Feature[compiler.ExpressionFactory]
          2008-12-18 15:21:13 com.sun.facelets.FaceletViewHandler handleRenderException
          嚴(yán)重: Error Rendering View[/ua/login.xhtml]
          com.sun.facelets.FaceletException: Could not instantiate feature[compiler.Expres
          sionFactory]: com.sun.el.ExpressionFactoryImpl
          at com.sun.facelets.compiler.Compiler.featureInstance(Compiler.java:154)

          at com.sun.facelets.compiler.Compiler.createExpressionFactory(Compiler.j
          ava:143)
          at com.sun.facelets.impl.DefaultFaceletFactory.createFacelet(DefaultFace
          letFactory.java:198)
          at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFacelet
          Factory.java:144)
          at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFacelet
          Factory.java:95)
          at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java
          :517)
          at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.jav
          a:567)
          at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrap
          per.java:178)
          at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePha
          se.java:106)
          at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
          at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
          at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
          icationFilterChain.java:252)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
          ilterChain.java:173)
          at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
          atcher.java:672)
          at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica
          tionDispatcher.java:463)
          at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
          ispatcher.java:398)
          at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
          patcher.java:301)
          at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPag
          e(FormAuthenticator.java:315)
          at org.apache.catalina.authenticator.FormAuthenticator.authenticate(Form
          Authenticator.java:243)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
          torBase.java:490)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
          ava:126)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
          ava:105)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
          ve.java:107)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
          a:148)
          at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)

          at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
          at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
          at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
          va:697)
          at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSock
          et.java:889)
          at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
          ool.java:684)
          at java.lang.Thread.run(Unknown Source)
          2008-12-18 15:21:13 com.sun.faces.lifecycle.LifecycleImpl phase
          警告: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@5113
          f0) threw exception
          com.sun.facelets.FaceletException: Could not instantiate feature[compiler.Expres
          sionFactory]: com.sun.el.ExpressionFactoryImpl
          at com.sun.facelets.compiler.Compiler.featureInstance(Compiler.java:154)

          at com.sun.facelets.compiler.Compiler.createExpressionFactory(Compiler.j
          ava:143)
          at com.sun.facelets.impl.DefaultFaceletFactory.createFacelet(DefaultFace
          letFactory.java:198)
          at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFacelet
          Factory.java:144)
          at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFacelet
          Factory.java:95)
          at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java
          :517)
          at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.jav
          a:567)
          at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrap
          per.java:178)
          at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePha
          se.java:106)
          at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
          at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
          at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
          icationFilterChain.java:252)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
          ilterChain.java:173)
          at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
          atcher.java:672)
          at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica
          tionDispatcher.java:463)
          at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
          ispatcher.java:398)
          at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
          patcher.java:301)
          at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPag
          e(FormAuthenticator.java:315)
          at org.apache.catalina.authenticator.FormAuthenticator.authenticate(Form
          Authenticator.java:243)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
          torBase.java:490)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
          ava:126)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
          ava:105)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
          ve.java:107)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
          a:148)
          at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)

          at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
          at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
          at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
          va:697)
          at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSock
          et.java:889)
          at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
          ool.java:684)
          at java.lang.Thread.run(Unknown Source)
          [ERROR] Servlet.service() for servlet Faces Servlet threw exception
          com.sun.facelets.FaceletException: Could not instantiate feature[compiler.Expres
          sionFactory]: com.sun.el.ExpressionFactoryImpl
          at com.sun.facelets.compiler.Compiler.featureInstance(Compiler.java:154)

          at com.sun.facelets.compiler.Compiler.createExpressionFactory(Compiler.j
          ava:143)
          at com.sun.facelets.impl.DefaultFaceletFactory.createFacelet(DefaultFace
          letFactory.java:198)
          at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFacelet
          Factory.java:144)
          at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFacelet
          Factory.java:95)
          at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java
          :517)
          at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.jav
          a:567)
          at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrap
          per.java:178)
          at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePha
          se.java:106)
          at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
          at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
          at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
          icationFilterChain.java:252)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
          ilterChain.java:173)
          at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
          atcher.java:672)
          at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica
          tionDispatcher.java:463)
          at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
          ispatcher.java:398)
          at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
          patcher.java:301)
          at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPag
          e(FormAuthenticator.java:315)
          at org.apache.catalina.authenticator.FormAuthenticator.authenticate(Form
          Authenticator.java:243)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
          torBase.java:490)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
          ava:126)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
          ava:105)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
          ve.java:107)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
          a:148)
          at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)

          at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
          at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
          at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
          va:697)
          at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSock
          et.java:889)
          at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
          ool.java:684)
          at java.lang.Thread.run(Unknown Source)
          [WARN] Unexpected error forwarding to login page
          javax.servlet.ServletException: Could not instantiate feature[compiler.Expressio
          nFactory]: com.sun.el.ExpressionFactoryImpl
          at javax.faces.webapp.FacesServlet.service(FacesServlet.java:249)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
          icationFilterChain.java:252)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
          ilterChain.java:173)
          at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
          atcher.java:672)
          at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica
          tionDispatcher.java:463)
          at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
          ispatcher.java:398)
          at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
          patcher.java:301)
          at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPag
          e(FormAuthenticator.java:315)
          at org.apache.catalina.authenticator.FormAuthenticator.authenticate(Form
          Authenticator.java:243)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
          torBase.java:490)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
          ava:126)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
          ava:105)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
          ve.java:107)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
          a:148)
          at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)

          at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
          at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
          at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
          va:697)
          at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSock
          et.java:889)
          at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
          ool.java:684)
          at java.lang.Thread.run(Unknown Source)
          我加了那兩個(gè)監(jiān)聽(tīng)器后還是報(bào)錯(cuò),不知道樓主知道什么原因不?
            回復(fù)  更多評(píng)論
            
          # re: [原創(chuàng)] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解 2008-12-18 15:50 | 獨(dú)上太行
          找到答案了,原來(lái)是少了el-ri-1.0.jar
          http://download.java.net/maven/2/com/sun/el/el-ri/1.0/
          不明白在jboss-jbpm自帶的jboss服務(wù)器中沒(méi)有這個(gè)包為什么能運(yùn)行。。。
          忘了說(shuō)明一下,我現(xiàn)在用的是jbpm3.3.0的。是通過(guò)安裝包安裝的jboss-jbpm,結(jié)構(gòu)和之前的版本不大一樣了。  回復(fù)  更多評(píng)論
            
          # re: [原創(chuàng)] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解 2009-09-30 08:47 | 崔永
          請(qǐng)問(wèn)我怎么下載你的Lib啊?一點(diǎn)擊下載就說(shuō)我的權(quán)限不夠。  回復(fù)  更多評(píng)論
            
          # re: [原創(chuàng)] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解 2009-10-09 15:07 | 獨(dú)上太行
          @崔永
          請(qǐng)?jiān)僭囈幌拢医裉煜螺d也是可以的,不需要登錄。實(shí)在不行,給我你的郵箱我把jar發(fā)給你。  回復(fù)  更多評(píng)論
            
          # re: [原創(chuàng)] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解 2009-10-09 15:16 | 崔永
          依然有如下錯(cuò)誤提示:

          403 - Forbidden: Access is denied.
          You do not have permission to view this directory or page using the credentials that you supplied.

          但是我已經(jīng)解決了,找到了可用的包了,謝謝你。  回復(fù)  更多評(píng)論
            
          # re: [原創(chuàng)] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署詳解 2009-12-24 11:39 | 菠蘿大象
          感謝大家的回復(fù),我好久都沒(méi)寫博客了,沒(méi)想到,這么早寫的一篇文章,現(xiàn)在還有人關(guān)注。我決定開始再來(lái)更新博客。  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 富川| 辛集市| 万源市| 萍乡市| 峨边| 探索| 鸡西市| 友谊县| 徐州市| 张家口市| 五大连池市| 新晃| 策勒县| 钟山县| 抚州市| 久治县| 米易县| 延津县| 花莲市| 濮阳县| 宜兰县| 新蔡县| 新乐市| 龙陵县| 道真| 玉田县| 隆安县| 文安县| 鹤壁市| 当阳市| 麻栗坡县| 台东市| 高碑店市| 磐石市| 新泰市| 治县。| 湖南省| 牡丹江市| 满洲里市| 葫芦岛市| 嘉义市|