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

Apache Slide 部署至 WebLogic 環境完整指南

     編輯:J2EE

前言

Apache Slide 是一個功能強大的 WebDAV 實現,支援版本控制、鎖定機制及存儲抽象等特性。將其部署到 BEA WebLogic 伺服器環境中,關鍵在於正確配置 JAAS(Java Authentication and Authorization Service)認證機制。本文詳細記錄從建立 Domain 到驗證部署的完整流程,並針對常見問題提供解決方案。

一、建立 WebLogic Domain

首先使用 WebLogic 配置精靈建立一個新 Domain,假設名稱為 mydomain,監聽端口設為 8001。Domain 目錄預設位於 D:\bea\user_projects\domains\mydomain。

二、準備 Slide 相關配置文件

  1. 從官方檔案庫下載 jakarta-slide-2.1-tomcat-5.0.28.zip 並解壓縮。
  2. 在解壓目錄的 conf 資料夾中找到 jaas.config 文件。
  3. 將該文件複製到 WebLogic 安裝根目錄(假設為 D:\bea\weblogic81,即 %WL_HOME%)。

三、修改啟動腳本配置 JAAS

進入 Domain 目錄 D:\bea\user_projects\domains\mydomain,編輯 startWebLogic.cmd:

  1. 尋找啟動 Java 的那一行,通常類似:
    %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% ...
  2. 在 %JAVA_OPTIONS% 後插入參數(注意前後需加空格):
    -Djava.security.auth.login.config=%WL_HOME%\jaas.config

修改後該行大致如下:

%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Djava.security.auth.login.config=%WL_HOME%\jaas.config ...

四、處理 Slide 依賴 JAR 包(視情況執行)

Slide.war 內 WEB-INF/lib 目錄已包含所需 JAR,正常情況下無需額外配置 Classpath。但在某些機器上部署後仍報 ClassNotFoundException,此時需手動配置:

  1. 將 slide.war 中的所有 JAR 解壓至獨立目錄,例如 D:\slide。
  2. 在 startWebLogic.cmd 中修改 CLASSPATH 變數,將上述 JAR 完整路徑加入,並保留原有路徑。示例:
set CLASSPATH=D:\slide\slide-webdavservlet-2.1.jar;D:\slide\slide-jaas-2.1.jar;D:\slide\commons-codec-1.3.jar;D:\slide\slide-jdk14logger-2.1.jar;D:\slide\servlets-webdav.jar;D:\slide\servlets-default.jar;D:\slide\catalina.jar;D:\slide\slide-kernel-2.1.jar;D:\slide\slide-log4jlogger-2.1.jar;D:\slide\slide-roles-2.1.jar;D:\slide\saxpath.jar;D:\slide\slide-stores-2.1.jar;D:\slide\commons-transaction-1.0.jar;D:\slide\jdom-1.0.jar;D:\slide\commons-collections-2.1.jar;D:\slide\jaxen-core.jar;D:\slide\jaxen-jdom.jar;%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%\jre\lib\rt.jar;%WL_HOME%\server\lib\webservices.jar;%CLASSPATH%

提示: 路徑間以分號 ; 分隔,確保無拼寫錯誤。

五、部署 Slide.war 並配置安全實體

  1. 啟動 WebLogic,登錄管理控制台 https://localhost:8001/console。
  2. 部署 slide.war(目標選擇 myserver 或叢集)。
  3. 部署完成後,進入 Security → Realms → myrealm 配置:
  • 新增用戶: root,密碼自訂(如 Root12345)。
  • 新增全局角色: root。
  • 新增群組: slide-group(可選),將 root 用戶加入該群組。
  • 角色授權: 將 root 用戶加入 root 角色。

注意: Slide 內部 Domain.xml 預置了 root 用戶與角色,未在該文件定義的用戶無法訪問。配置 Realm 後,認證以控制台為準,不再讀取 Domain.xml 中的密碼。

六、驗證部署與常見問題

若控制台部署無異常,瀏覽器訪問 https://localhost:8001/slide/files/,彈出認證對話框,輸入 root 及設定密碼即可進入。

已知差異:

  • Tomcat 下可直接訪問 /slide 根路徑;WebLogic 下僅能訪問子路徑如 /slide/files/。原因在於 WebLogic 對 Web 應用上下文路徑的處理機制不同,Slide 的 welcome-file-list 或 servlet-mapping 在 WebLogic 環境下未正確觸發根路徑重導向。可通過在 web.xml 額外配置 / 對應到 files/ 的 servlet 來繞過。

結語

完成上述步驟即可在 WebLogic 上穩定運行 Apache Slide。若遇到類加載衝突,建議優先嘗試「父優先」或「子優先」類加載策略調整。如有疑問,歡迎透過以下方式交流:

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