Eclipse 通過 Subversive/SVNKit 插件連接 SVN 服務器時,會緩存用戶憑證。當需要切換賬號(如離職交接、權限變更、多賬號切換)時,必須清理舊憑證緩存。清理路徑取決於 SVN 接口類型(JavaHL 或 SVNKit)。本文提供標準化操作步驟,含圖解驗證。
Window → Preferences (macOS: Eclipse → Preferences)Team → SVN
.subversion)C:\Users\<你的用戶名>\AppData\Roaming\Subversion\authC:\Documents and Settings\<用戶名>\Application Data\Subversion\auth XP/舊版)auth 目錄下 所有內容(含 svn.simple、svn.ssl.server、svn.username 等子目錄)%APPDATA%\Subversion\auth 直接打開del /s /q %APPDATA%\Subversion\auth\*<Eclipse安裝目錄>/configuration/org.eclipse.core.runtime.keyring 存儲 Eclipse 安全存儲的所有敏感信息(不僅 SVN),刪除後其他插件保存的密碼也會清空.keyring 同目錄下的 .keyring.backup_* 並重命名,但標準做法是刪除主文件Team → Show History 或 Commit若同時使用命令行 svn 客戶端:
# 查看當前緩存憑證
svn auth --show-passwords
# 清除特定域的憑證
svn auth --delete --username old_user --server https://svn.example.com
# 清除所有憑證
svn auth --delete-all
| 現象 | 可能原因 | 解決方案 |
|---|---|---|
| 清理後仍不彈出輸入框 | 瀏覽器/系統憑證管理器緩存 | 清理 Windows 憑證管理器、瀏覽器保存密碼 |
| 報錯 "E200015: Authentication required" | 服務器拒絕匿名訪問,但客戶端未發送憑證 | 確認清理徹底、重啟 Eclipse、檢查代理設置 |
| JavaHL 报 "UnsatisfiedLinkError" | 本地 Subversion 庫版本不匹配或未安裝 | 切換至 SVNKit、或安裝匹配版本 Subversion 客戶端 |
| SVNKit 慢/超時 | 純 Java 實現性能較弱、大倉庫操作 | 切換 JavaHL、調大超時時間、使用命令行 |
TortoiseSVN (Windows) / Cornerstone (Mac) / RabbitVCS (Linux) 圖形化管理憑證Eclipse SVN 用戶切換的核心在於「識別接口類型 → 定位緩存路徑 → 徹底清理 → 重新認證」。掌握 JavaHL (系統級 %APPDATA%\Subversion\auth) 與 SVNKit (Eclipse 級 configuration/org.eclipse.core.runtime/.keyring) 兩條清理路徑,配合命令行 svn auth 輔助驗證,即可從容應對賬號變更、權限調整、多賬號協作等場景。建議團隊標準化 SVN 接口選型,減少認知負荷。