Eclipse Mac OS 安装 Subversion插件subclipse 缺失JavaHL解决方案
安装 SVN 插件 subclipse 时可能遇到问题
subclipse 安装完成后,当我们选择使用 的时候还是会提示:javaHL not available,


SVN接口选择
client:选择第一个SVNkit或者JavaHL
官方建议使用JavaHL作为client,稳定性,速度性都比SVNKit好很多,使用SVNKit有可能出现未知的错误,使你的项目数据受损。
JavaHL是通过jni的方式来调用本地的SVN库,所以说速度快,稳定可靠
JavaHL 原来官网 http://subclipse.tigris.org/wiki/JavaHL
目前已经全部转移到github 说明很详细
https://github.com/subclipse/subclipse/wiki
JavaHL是什么?
JavaHL 是Subversion项目的一部分。具体地说,它是java语言结合 Subversion 的 API。提供了一个分层的API设计,作为本地库(DLL,Linux下表现为 .so)。Subversion 命令行只是对这个API的简单应用。API 提供了丰富的功能,同时保持向后兼容性。这就是为什么有这么多伟大的Subversion客户端和工具可用,因为有一个丰富且稳定的API提供了你所需要的所有功能。
Subversion 使用 C语言编写,提供优秀的跨平台支持,也因为C语言编写的库很容易被其他语言所调用。Subversion 项目提供并维护 Java, Perl, Python 和 Ruby 等语言与其交互的功能。后三者是通过SWIG(Simplified Wrapper and Interface Generator ,一个非常优秀的开源工具,支持您将 C/C++ 代码与任何主流脚本语言相集成)库和语言自身调用本地库语言接口的能力实现的。JavaHL 是“高级别”的API,提供自定义编写的C++代码作为java代码和本地库之间的JNI桥梁。这样的设计使我们能够提供一个很好的 java API 来调用 Subversion。
JavaHL 实质上包括四个部分:
相对较薄的java代码层提供的API,使其可以通过 java 调用。
一个C++库(javahl 库或 libsvnjavahl-1)。java层到这个层的交互使用java本地接口(JNI)调用。C++层就是“高级别”的API的实现。例如,可以提供一个简单的java API:“提交这个文件列表,使用此提交消息”。C++层负责内存管理和执行所有底层 Subversion API调用需要完成的请求。
Subversion 库本身。命令行客户端将安装和使用相同的库。另外,其他Subversion客户端,如TortoiseSVN或AnkhSvn也使用相同的库。
Subversion 库的依赖项。Subversion 需要一些外部库来完成操作。最大的是 Apache Portable Runtime (APR)可移植运行时,但它也需要像Neon库的HTTP客户端和OpenSSL处理加密等。
应用程序要使用 JavaHL 这四层都是必需的。
获取正确的版本
WIKI 上是把这一节放在 JavaHL 是什么 之前的,因为知道你需要使用 Subclipse 的哪个版本是非常重要的。JavaHL 是 Subversion 的一部分,所以它的版本必须和你安装的Subversion 命令行客户端的版本匹配。每个Subclipse版本通常只支持一个单一的Subversion客户端版本(由于API的差异)。确保你获取与你的 Subclipse版本正确的 javahl 版本。
正确的版本对应关系见下图:


《Mac 安装 JavaHL》 https://blog.csdn.net/weixin_41791279/article/details/86015128
Eclipse Mac OS 安装 Subversion插件subclipse 缺失JavaHL解决方案的更多相关文章
- Eclipse Mac OS 安装 最新版 Subversion插件subclipse
subclipse 目前全部转移到github 官方地址 https://github.com/subclipse/subclipse/wiki Eclipse mac版 安装 最新版svn插件sub ...
- mac OS 安装 Subversion JavaHL 客户端
JavaHL原来官网 http://subclipse.tigris.org/wiki/JavaHL 目前已经全部转移到github 官方说明很详细 https://github.com/subcl ...
- Eclipse Mac OS 安装中文简体语言包
打开Eclipse软件,在导航Eclipse下拉菜单中点开 About Eclipse 查看版本 我的是 Eclipse IDE for Enterprise Java Developers. Ver ...
- 如何在Eclipse下安装SVN插件——subclipse
如何在Eclipse下安装SVN插件——subclipse | 浏览:2799 | 更新:2014-09-20 22:39 1 2 3 4 5 6 分步阅读 版本控制是开发人员必不可少的工具,而SVN ...
- eclipse在线安装svn插件subclipse
eclipse在线安装svn插件subclipse 1 Help > Eclipse Marketplace,打开Eclipse Marketplace 2 切换到Search,输入subcli ...
- 在Eclipse/MyEclipse中安装spket插件
Spket ide是强大的工具包为了JavaScript和XML的开发,这个强大的编辑器对JavaScript, XUL/XBLand Yahoo! Widget的开发都有全面的支持 ,比如代码完毕, ...
- Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例
Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例 一.在Eclipse下编译安装Hadoop插件 Hadoop的Eclipse插件现在已经没有二进制版直接提供,只能自己编译. ...
- Eclipse Jee Oxygen安装svn插件
转: Eclipse Jee Oxygen安装svn插件 技术标签: eclipse svn Eclipse Jee Oxygen安装svn插件 入主题: 选择Eclipse->菜单-> ...
- Mac os安装DVWA环境教程
Mac os安装DVWA环境教程 1.尽管Mac自带Apache和php 事实上Mac和WIN都用XAMPP一键化安装比较方便 2.解压DVWA-master 改名为dvwa移动到XAMPP的目录 3 ...
随机推荐
- jQuerry点击按钮回到顶部功能
简单实现点击按钮回到顶部功能
- PTA数据结构与算法题目集(中文) 7-42整型关键字的散列映射 (25 分)
PTA数据结构与算法题目集(中文) 7-42整型关键字的散列映射 (25 分) 7-42 整型关键字的散列映射 (25 分) 给定一系列整型关键字和素数P,用除留余数法定义的散列函数将关键字映射 ...
- Python:Day05-2
面向对象进阶 在前面的章节我们已经了解了面向对象的入门知识,知道了如何定义类,如何创建对象以及如何给对象发消息.为了能够更好的使用面向对象编程思想进行程序开发,我们还需要对Python中的面向对象编程 ...
- python_Mock基本使用
## 1.mock简介 1. py3已将mock集成到unittest库中 2. 为的就是更好的进行单元测试 3. 简单理解,模拟接口返回参数 4. 通俗易懂,直接修改接口返回参数的值 5. 官方文档 ...
- Go gRPC教程-客户端流式RPC(四)
前言 上一篇介绍了服务端流式RPC,客户端发送请求到服务器,拿到一个流去读取返回的消息序列. 客户端读取返回的流的数据.本篇将介绍客户端流式RPC. 客户端流式RPC:与服务端流式RPC相反,客户端不 ...
- 安卓开发学习日记 DAY5——监听事件onClick的实现方法
今天主要学习了监听事件的是实现方法,就是说,做了某些动作后,怎么监听这个动作并作出相应反应. 方法主要有三种: 1.匿名内部类的方法 2.独立类的方法 3.类似实现接口的方法 以下分别分析: 1.匿名 ...
- 萌新带你开车上p站(Ⅳ)
本文作者:萌新 前情回顾: 萌新带你开车上p站(一) 萌新带你开车上p站(二) 萌新带你开车上P站(三) 回顾一下前篇,我们开始新的内容吧 0x12 登录后看源码 通读程序,逻辑是这样子的: 输入6个 ...
- 列表推导式和seed()的理解
Table of Contents generated with DocToc 列表推导式和seed()的理解 对seed()的理解 列表推导式 第一种用法 第二种用法 列表推导式和seed()的理解 ...
- PHP远程代码执行漏洞复现(CVE-2019-11043)
漏洞描述 CVE-2019-11043 是一个远程代码执行漏洞,使用某些特定配置的 Nginx + PHP-FPM 的服务器存在漏洞,可允许攻击者远程执行代码. 向Nginx + PHP-FPM的服务 ...
- python初学(二)
1.输入一个整数列表L,判断L中是否存在相同的数字: (1)若存在,输出YES,否则输出NO: (2)若存在,输出YES,同时输出相同的数字:否则输出NO. l=list(input()) print ...