一开始使用 subclipse (Eclipse 的 Subversion 插件)不能通过 NTLM 认证访问 SVN 服务器, 始终报告如下图所示的错误(svn: HTTP authorization method 'NTLM' is not supported):
点击查看大图今天再看了一下, 在 Eclipse Perferences 中的 SVN 设置中发现不能选择使用 "javaHL" 作为 SVN 接口(报告的错误是在 java.library.path 中找不到 libsvnjavahl-1.so), 心想不知道使用 JavaHL 是否可以解决 NTLM 认证的这个问题, 应该尝试一下, 上网查了查, 从 http://packages.Ubuntulinux.org/dapper/devel/libsvn-javahl 找到了 libsvn-javahl 的下载 deb 包 libsvn-javahl_1.3.1-3ubuntu1_i386.deb, 下载完毕后使用
sudo dpkg -i libsvn-javahl_1.3.1-3ubuntu1_i386.deb
进行安装, 却被告知依靠的 libsvn0 还没有被安装, 直接用 apt-get install libsvn0 安装后再次使用 dpkg -i 安装下载的 libsvn-javahl_1.3.1-3ubuntu1_i386.deb, 却被告知 libsvn0 版本不对:
xxx@xxxlinux:~/Desktop$ sudo dpkg -i libsvn-javahl_1.3.1-3ubuntu1_i386.deb
选中了曾被取消选择的软件包 libsvn-javahl。
(正在读取数据库 ... 系统当前总共安装有 60192 个文件和目录。)
正在解压缩 libsvn-javahl (从 libsvn-javahl_1.3.1-3ubuntu1_i386.deb) ...
dpkg:依靠关系问题使得 libsvn-javahl 的配置工作不能继续:
libsvn-javahl 依靠于 libsvn0 (= 1.3.1-3ubuntu1);然而:
系统里的 libsvn0 的版本是 1.2.0-1ubuntu1.
dpkg:处理 libsvn-javahl (--install)时出错:
依靠关系问题 - 仍未被配置
在处理时有错误发生:
libsvn-javahl
于是又从 http://packages.ubuntulinux.org/dapper/devel/libsvn-javahl 页面上找到 libsvn-javahl 的依靠库 libsvn0 (= 1.3.1-3ubuntu1) 的 deb 文件, 然后安装时又被告知依靠于其它的模块(未安装或者版本不对), 于是继续使用 apt-get install 安装这些模块, 或者继续在 http://packages.ubuntulinux.org/dapper/devel/ 下面各个依靠模块的页面上找到这些下一层的依靠模块的 deb 安装包, 如此循环往复, 花了不少时间, 总算把 JavaHL 安装好了.
然后进入 $JAVA_HOME/jre/lib/i386/client/ 目录, 执行:
sudo ln -s /usr/lib/jni/libsvnjavahl-1.so libsvnjavahl-1.so
然后再启动 Eclipse, 进入 SVN 的设置页面, 果然现在可以选择 "JavaHL (JNI)" 方式了:
连接到 SVN 服务器测试, 果然现在能够正确弹出输入用户名和密码的对话框了: