前言 JCMS是Jetspeed Content Management System的縮寫,目前的版本是基於Jetspeed2.0的α1版本,功能還非常有限。本文介紹了如何在Jetspeed2.0的final release版本下安裝和部署JCMS,並將JCMS提供的幾個Portlet定制到頁面上。安裝和配置Jetspeed2.0和JCMS需要的時間比較長,因為需要從網上找安裝程序、下載安裝、配置環境,還要懂Maven,不過如果大家有耐心,還是可以成功的,我花了一整天的時間才弄好。安裝JCMS前需要安裝jetspeed2.0,請使用官方發布的2.0release版本,不要從jetspeed2.0的最新原碼庫下載,否則JCMS不能正常部署使用。 安裝步驟 JDK要先安裝,我用的是JDK1.5以上的版本,1.4.x的是否能支持Jetspeed2.0我不太清楚,想使用1.4.x的朋友請到jetspeed的網站上查一查。 1) JetSpeed2.0安裝程序:從http://portals.apache.org/jetspeed-2/ 地址下載Jetspeed2.0-derby-install.jar,運行Java –jar Jetspeed2.0-derby-install.jar ,在安裝的過程中選擇tomcat的安裝路徑,假定為c:\tomcat。 運行tomcat以檢查是否安裝成功,在tomcat啟動完成後在浏覽器中輸入:http://localhost:8080/jetspeed,在出現的頁面中有一個登錄用戶和密碼的Portlet窗口,輸入用戶名和口令都是admin,admin,登錄成功以後修改密碼保存。關掉tomcat開始進行以下步驟。 2) 安裝maven: 我使用的maven是maven-1.1-beta-2.exe,下載地址忘記了。建議不要使用maven的最新版本,否則可能有問題,而且與本文的安裝方式可能不一致。安裝好maven後需要配置環境變量,增加系統環境變量:MAVEN_HOME ,值為你安裝Maven的根路徑,這個根路徑下有bin子目錄。系統變量還要修改path,在系統的path環境變量增加%MAVEN_HOME%\bin; 3)下載JCMS源代碼 JCMS源代碼下載地址是:https://svn.apache.org/repos/asf/incubator/graffito/ ,下載前需要安裝Subversion,我使用的是svn-1.2.3-setup.exe(好不容易從網上找到的Windows安裝版),找到Subversion的bin目錄,自己寫一個.bat文件或在命令行模式下輸入:svn checkout https://svn.apache.org/repos/asf/incubator/graffito/ c:\cmsjetspeed 其中c:\cmsjetspeed 是下載源碼的目標地址,大家可以任意指定。修改C:\cmsjetspeed\trunk\jetspeed2-deploy\src\assembly\graffito.XML(這個文件在JCMS部署後會自動復制到C:\tomcat\webaPPS\jetspeed\WEB-INF\assembly目錄下),找到
JetspeedDS,將JetspeedDS改為JetspeedCMS,因為我要配置JCMS使用MySQL數據庫,而不是使用Jetspeed2內嵌的Derby數據庫。JetspeedCMS對應到C:\tomcat\webaPPS\jetspeed\WEB-INF\assembly\boot\datasource.xml裡的配置,打開datasource.XML,找到:
Java:comp/env/jdbc/jetspeed 復制上段配置,粘貼到下面一行,並做修改,修改後的配置:
Java:comp/env/jdbc/mycms 這是JCMS要使用的數據源。 再到C:\tomcat\webaPPS\jetspeed\WEB-INF打開web.XML文件,在
DB Connection jdbc/jetspeed Javax.sql.DataSource Container 下面增加:
DB Connection jdbc/mycms Javax.sql.DataSource Container 修改C:\tomcat\conf\context.XML,內容如下:
WEB-INF/web.XML 更改C:\tomcat\conf\tomcat-users.XML,為tomcat用戶增加manager角色:
。 4) 在網上找到mysql-connector-java-3.1.12-bin.jar,放到tomcat的common\lib裡。 5) 安裝Mysql數據庫,並更改root的登錄口令為MySQL,並創建一個graffitotest和j2數據庫。 6)配置maven的編譯環境:如果你的機器是windows xp,並且Windows XP裝在c盤,則進入C:\Documents and Settings,選擇你現在使用Windows的用戶名的這個目錄,進入這個目錄創建一個build.propertIEs文件,內容如下: # --------------------------------------------------------------------------------- # GRAFFITO # --------------------------------------------------------------------------------- #Uncomment the following line if you want to run the unit tests #maven.test.skip=false # configure TEST DB org.apache.portals.graffito.test.database.default.name=mysql org.apache.portals.graffito.test.jetspeed=false org.apache.portals.graffito.test.database.url = jdbc:mysql://localhost/graffitotest?useServerPrepStmts=false org.apache.portals.graffito.test.database.driver = com.mysql.jdbc.Driver org.apache.portals.graffito.test.database.user = root org.apache.portals.graffito.test.database.password = mysql org.apache.portals.graffito.test.jdbc.drivers.path=C:/cmsjetspeed/mysql-connector-java-3.1.12-bin.jar # configure PRODUCTION DB org.apache.portals.graffito.production.database.default.name=mysql org.apache.portals.graffito.production.jetspeed=true #org.apache.portals.graffito.production.database.url = jdbc:mysql://localhost/j2?useServerPrepStmts=false org.apache.portals.graffito.production.database.url = jdbc:mysql://localhost/graffitotest?useServerPrepStmts=false org.apache.portals.graffito.production.database.driver = com.mysql.jdbc.Driver org.apache.portals.graffito.production.database.user = root org.apache.portals.graffito.production.database.password = mysql org.apache.portals.graffito.production.jdbc.drivers.path=C:/cmsjetspeed/mysql-connector-java-3.1.12-bin.jar #Configue the Graffito Master OJB Store - USED FOR THE UNIT TESTS org.apache.portals.graffito.database.ojb.platform=MySQL org.apache.portals.graffito.database.ojb.datasource=java:comp/env/jdbc/mycms # --------------------------------------------------------------------------------- # JETSPEED 2 # --------------------------------------------------------------------------------- org.apache.jetspeed.server.home=C:/tomcat org.apache.jetspeed.server.shared=${org.apache.jetspeed.server.home}/shared/lib/ org.apache.jetspeed.deploy.war.dir=${org.apache.jetspeed.server.home}/webaPPS/ org.apache.jetspeed.services.autodeployment.user=tomcat org.apache.jetspeed.services.autodeployment.password=tomcat org.apache.jetspeed.catalina.version.major=5.5 #下面這個目錄有自己指定路徑,指定的目錄要求已經存在 org.apache.jetspeed.project.home = c:/cmsjetspeed/myproject org.apache.jetspeed.portal.home = ${org.apache.jetspeed.project.home} # configure MySQL TEST DB #org.apache.jetspeed.test.database.default.name=mysql #org.apache.jetspeed.test.database.url = jdbc:mysql://localhost/j2test?useServerPrepStmts=false #org.apache.jetspeed.test.database.driver = com.mysql.jdbc.Driver #org.apache.jetspeed.test.database.user = root #org.apache.jetspeed.test.database.password = mysql #org.apache.jetspeed.test.jdbc.drivers.path= C:/cmsjetspeed/mysql-connector-java-3.1.12-bin.jar # configure MySQL Production DB org.apache.jetspeed.production.database.default.name=mysql org.apache.jetspeed.production.database.url = jdbc:mysql://localhost/j2?useServerPrepStmts=false org.apache.jetspeed.production.database.driver = com.mysql.jdbc.Driver org.apache.jetspeed.production.database.user = root org.apache.jetspeed.production.database.passWord = mysql org.apache.jetspeed.production.jdbc.drivers.path= C:/cmsjetspeed/mysql-connector-java-3.1.12-bin.jar 上面的配置也可能不是很科學,不過我這樣配置是成功部署了JCMS,注意目錄間隔用/而不是\,另外MySQL-connector-Java-3.1.12-bin.jar的路徑指定為你機器上此文件的路徑. 下面開始用maven編譯:第一步: maven allClean allBuild 希望你能看到BUILD SUCCESS的字樣,這一步執行成功後接著執行: maven allDeploy 這一步如果成功的話,JCMS生成的war文件應該已放到了C:\tomcat\webapps\jetspeed\WEB-INF\deploy下面,在啟動tomcat後會把deploy目錄下的war轉移到webaPPS目錄下,啟動時注意看一下控制台是否有錯誤拋出。如果啟動正常,請在地址欄輸入:http://localhost:8080/jetspeed,頁面應該出現jetspeed的主頁而不是空白頁或錯誤信息輸出,登錄後在頁面左側找到”第二個PSML頁面”,點擊,在頁面右上角找一個筆狀的編輯圖標,在新出來的頁面右上角有一個+號的圖標,點擊,會出現一個Portlet選擇器窗口,有三個是與JCMS相關的,這三個Portlet分別是Graffito Tree,Graffito Document VIEwer,Graffito Tree,選擇復選框將三個Portlet加入到當前頁面中。關於JCMS的如何應用將另文敘述。由於安裝過程比較復雜,本文敘述的過程可能會有遺漏,大家如果有問題可以通過msn或email與我聯系。 作者:王保政 MSN:
[email protected] Email:
[email protected] QQ:29803446