• Linux下Subclipse的JavaHL



        Subclipse是一个很优秀的SVN客户端。它提供了ClientAdapter、JavaHL和SVNKit等方式于SVN服务交互。官方强烈推荐使用JavaHL的方式。JavaHL使用JNI的调用SVN的本地库。速度快,稳定可靠。
         但是在Linux下,就比较麻烦了。默认安装好后, Subclipse的配置界面中,显示的javaHL的状态是“unavailable“。这是因为系统中没有安装svn的javahl。经过一段时间的折腾。终于搞定了它。期间走了不少弯路,今天把它记下来。希望能对大家有所帮助。
         当然,我们可以通过诸如Ubuntu的apt-get等方法来获取javahl。不过,我们的目标是:DIY。
         为了达到让Subclipse使用javaHL的目的。我们需要完成如下的工作:
        1。下载Subversion的源代码。
        2。编译Subversion的javaHL库,并安装
        3。相关配置

        下载Subversion源码

        Subversion目前的版本主要有:1.4.x、1.5.x、1.6.x。相应的,与此对应的Subclipse的版本为:1.4.x、1.5.x、.1.6.x。所以,在下载之前,需要确定我们使用的Subclipse的版本。查看Subclipse版本的方法有很多种。例如,可以通过菜单Help -> About Eclipse Platform窗口中的Subclipse按钮来查看。需要注意的是。如果版本不匹配,安装javahl后,Subclipse是无法识别的。
        偶比较追新。选择的是1.6。
        Subclipse 1.6的Update Site网址是:http://subclipse.tigris.org/update_1.6.x
        我们需要去官方网站下载Subversion 1.6的相关源码以及编译用的依赖包。大家可以在Subversion的首页找到源码的下载连接。网址是:http://subversion.tigris.org/。不过,只有源代码是不行的。还需要去它的Source Release Area中下载依赖包。网址是:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74。
        最终,我们得到的是subversion-1.6.x.tar.bz2和subversion-deps-1.6.x.tar.bz2。

        编译安装Subversion的javaHL库

        首先,创建一个临时的工作目录。例如,我在我的home目录下创建了一个临时的工作目录:
       
       leon@leon:~$mkdir work

        然后,将两个包复制到了那个目录。然后使用tar命令解压两个压缩包。最终,会在临时目录下得到一个名为subversion-1.6.x的目录。
        在编译前, 我们还需要准备一下的环境:

        1。Java, 需要一个jdk。我的安装/usr/local/jdk中。

        2。Openssl的开发库。如果用的Ubuntu, 可以使用sudo apt-get install libssl-dev。来安装Openssl-dev到你的系统中。奇怪的是,为什么他们给Openssl-dev起名叫做“libssl-dev“呢?

        3。JUnit 3.8.1的jar文件。我把它放在了我的work临时工作目录中。安装完成后,我们需要使用它来测试一下javahl是否安装正确了

        4。一个标准的gcc编译环境。如果用Ubuntu, 可以使用sudo apt-get install build-essential来安装

        准备好后,我们就可以编译了。首先配置源代码:

       ./configure --with-jdk=/usr/local/jdk --with-junit=/home/leon/work/junit-3.8.1.jar --enable-javahl

        这时候,我们可去作点儿别的。等它配置完后,可能会有一个警告,不用管它。接下来执行:

       make javahl

        再去作点儿别的事情吧。例如去听听音乐,或者玩游戏。等它编译后,我迫不及待了执行了安装的命令:

       make install-javahl

        完成后,先测试一下javahl是否工作正常:

       make check-javahl

        相关配置

        一般来说,应该不会有啥问题。接下来,启动安装好Subclipse的Eclipse(如果Eclipse一直没关,则需要重新启动)。打开菜单:Window -> Preferences窗口,然后展开左侧TreeView中的Team,选中下面的"SVN"。这时,在SVN 接口的地方,javahl仍然是"unavailable"!我当时就抓狂了……
        经过冷静分析,查找资料后才得知:这时由于Subclipse没有找到javahl的库所致。这种情况在一些Linux发行版上会发生,例如我现在用的Ubuntu 9.04。具体的原因就是刚才的make install-javahl将相关的库安装到了/usr/local/lib下。而java是不会在这个路径中搜索相关的库的。让java去搜索/usr/local/lib的方法有很多中,我采取的方式是修改eclipse.ini文件。它位于eclipse的目录中。在-vmargs一行下,加入了:

       -Djava.library.path=/usr/local/lib

        再重启Eclipse, 在Preferences窗口中。看到了正确javahl。哈哈!终于成功啦!

        希望我的经历能给大家带来一些帮助。如果有什么问题,请一定要以最快速的联系我。enjoy!
  • 相关阅读:
    vue+element-ui中的表单验证(电话等等)
    什么是 RegExp?
    C中的指针和字符串
    getchar与scanf区别
    回显程序
    Python基础之容器1----字符串和列表
    Python基础之语句2
    Python基础之语句1
    Python基础之数据基本运算
    python初识
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318310.html
Copyright © 2020-2023  润新知