首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

Jetspeed 2.0 整合 JCMS 完整部署實戰指南

     編輯:J2EE

前言

JCMS (Jetspeed Content Management System) 是基於 Jetspeed 2.0 門戶框架的內容管理擴展。本文記錄在 Jetspeed 2.0 Final Release 版本上安裝、配置 JCMS 並將其 Portlet 整合到頁面的完整流程。過程涉及 Maven 建構、Subversion 源碼獲取、數據庫遷移(Derby → MySQL)等環節,耗時較長,需耐心操作。

前置需求

  • JDK 1.5+(1.4.x 需自行驗證相容性)
  • Apache Maven 1.1-beta-2(勿使用過新版本,避免構建腳本不兼容)
  • Subversion 客戶端(如 svn-1.2.3-setup.exe)
  • MySQL 5.x + JDBC Driver (mysql-connector-java-3.1.12-bin.jar)

一、安裝 Jetspeed 2.0

  1. 下載 Jetspeed2.0-derby-install.jar
  2. 執行安裝:java -jar Jetspeed2.0-derby-install.jar,指定 Tomcat 安裝路徑(如 C:\tomcat)。
  3. 啟動 Tomcat 驗證:訪問 https://localhost:8080/jetspeed,預設帳號 admin/admin,登錄後修改密碼。
  4. 關閉 Tomcat,進行後續配置。

二、配置 Maven 環境

  1. 安裝 Maven 1.1-beta-2,設置環境變數:
    MAVEN_HOME=你的Maven安裝路徑
    PATH=%PATH%;%MAVEN_HOME%\bin
  2. 在 Windows XP 下,於 C:\Documents and Settings\<你的用戶名> 建立 build.properties,內容見文末附錄。

三、獲取 JCMS 源碼

svn checkout https://svn.apache.org/repos/asf/incubator/graffito/ C:\cmsjetspeed

源碼將下載至 C:\cmsjetspeed。

四、修改配置文件實現 MySQL 數據源

1. 修改 JCMS 部署描述符

編輯 C:\cmsjetspeed\trunk\jetspeed2-deploy\src\assembly\graffito.xml:

<property name="alias"><value>JetspeedCMS</value></property>

將原 JetspeedDS 改為 JetspeedCMS,對應自定義數據源。

2. 配置 Tomcat 數據源

編輯 C:\tomcat\webapps\jetspeed\WEB-INF\assembly\boot\datasource.xml,在原 JetspeedDS Bean 後新增:

<bean class="org.apache.jetspeed.components.rdbms.ojb.ConnectionRepositoryEntry" id="JetspeedCMS">
  <property name="jndiName"><value>java:comp/env/jdbc/mycms</value></property>
</bean>

3. 註冊 JNDI 資源引用

編輯 C:\tomcat\webapps\jetspeed\WEB-INF\web.xml,在現有 jdbc/jetspeed resource-ref 後新增:

<resource-ref>
  <description>DB Connection</description>
  <res-ref-name>jdbc/mycms</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

4. 配置 Tomcat 全局數據源

編輯 C:\tomcat\conf\context.xml:

<Context antiJARLocking="true">
  <WatchedResource>WEB-INF/web.xml</WatchedResource>
  <Resource name="jdbc/mycms" auth="Container"
    maxActive="100" maxIdle="30" maxWait="10000"
    driverClassName="org.gjt.mm.mysql.Driver"
    url="jdbc:mysql://localhost/graffitotest"
    type="javax.sql.DataSource"
    password="mysql" username="root" />
</Context>

5. 配置 Tomcat 管理用戶

編輯 C:\tomcat\conf\tomcat-users.xml,新增 manager 角色:

<user password="tomcat" username="tomcat" roles="tomcat,manager" />

五、準備數據庫與 JDBC 驅動

  1. 將 mysql-connector-java-3.1.12-bin.jar 放入 C:\tomcat\common\lib。
  2. 安裝 MySQL,設置 root 密碼為 mysql,建立兩個庫:graffitotest、j2。

六、Maven 構建與部署

  1. 進入 C:\cmsjetspeed\trunk 目錄。
  2. 執行完整構建:maven allClean allBuild,等待 BUILD SUCCESSFUL。
  3. 部署:maven allDeploy。成功後 WAR 包將生成至 C:\tomcat\webapps\jetspeed\WEB-INF\deploy,Tomcat 啟動時自動展開至 webapps。

七、驗證與 Portlet 整合

  1. 啟動 Tomcat,觀察控制台無異常。
  2. 訪問 https://localhost:8080/jetspeed,登錄後左側選單找到「第二個 PSML 頁面」。
  3. 點擊右上角編輯圖標(筆形)→ 再點擊「+」號 → Portlet 選擇器中勾選:
    Graffito Tree、Graffito Document Viewer、Graffito Tree(三個 JCMS 相關 Portlet)。
  4. 確定後即可在頁面看到 JCMS 功能區塊。

附錄:build.properties 關鍵配置片段

# 數據庫配置
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

# Jetspeed 路徑
org.apache.jetspeed.server.home = C:/tomcat
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}

注意: 路徑分隔符統一使用正斜槠 /,JDBC 驅動路徑指向實際文件位置。

常見問題排查

  • 構建失敗: 檢查 Maven 版本、JDK 版本、網絡連接(下載依賴)。
  • 啟動報錯: 查看 catalina.out,多數為數據源配置錯誤或 JNDI 名稱不匹配。
  • Portlet 不顯示: 確認 graffito.xml 中 alias 已改為 JetspeedCMS,且 datasource.xml、web.xml、context.xml 三處 JNDI 名稱一致(jdbc/mycms)。

結語

JCMS 安裝過程雖繁瑣,但按步驟操作可成功。後續將另文介紹 JCMS 具體應用開發。如有疑問歡迎聯繫:

  • MSN: baozhengw999@hotmail.com
  • Email: baozhengw@netease.com
  • QQ: 29803446
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved