[英]Eclipse Mars crashes when entering SVN settings with JavaHL library added
[英]Paired JAR and native library binaries for SVN Java bindings (JavaHL) on Windows?
我正在編寫一些直接使用Subversion(SVN)Java綁定(JavaHL)的代碼(其中JavaHL包含本機庫和瘦Java包裝器)。 在Linux(Ubuntu 12.04)上這沒有問題:包libsvn-java
安裝了本機庫和\\usr\\share\\java\\svn-javahl.jar
,所以我只是引用后者而去了。
在Windows上,我知道這對(JAR +本機庫)沒有這樣的干凈包裝。 我知道SlikSVN包含一個JavaHL實現,但安裝它似乎只是安裝本機庫 (它放在PATH上)。 是否有任何東西可以提供兩者的清潔包裝? (如果SlikSVN 確實打包了JAR,那我就沒想到了,搜索整個驅動器什么都沒發現......)
作為一種解決方法,我手動構建了JAR文件(下面的詳細信息可能對人們有用)。 但似乎Java包裝器和本機庫的“匹配”非常精確:當我從后來的SVN源代碼(而不是匹配我的確切SlikSVN SVN版本)構建JAR作為測試時,我在本機中遇到致命錯誤代碼(EXCEPTION_ACCESS_VIOLATION)。 也許我不走運但是,如果它非常敏感,我需要為用戶可能安裝的每個潛在版本的SlikSVN(以及SVN)提供一個JAR庫(或限制他們的SlikSVN選擇,或者有一些傾向於 - 錯誤自動構建過程,需要他們安裝JDK)。 所有糟糕的選擇:-(
我有SlikSVN 1.8.10: svn --version
報告版本1.8.10-SlikSvn-1.8.10-X64
。
所以我從標記的SVN版本中獲得了Java包裝器源代碼。 (您也可以從主站點的源代碼下載 。)
svn export http://svn.apache.org/repos/asf/subversion/tags/1.8.10/subversion/bindings/javahl/src
將此(沒有依賴項)編譯到JAR中,並使用它,與SlikSVN本機庫一起正常工作。
PS我知道我可以使用SVNKit來避免這樣做,但我正是這樣做,以便不依賴於SVNKit的許可原因(加上JavaHL API無論如何都很好而且相當高級,還有其他更喜歡使用“官方”原生JavaHL實現的理由。
WANdisco二進制文件中應包含JavaHL。
http://www.wandisco.com/subversion/download
我自己使用它們已經有一段時間了(通常不使用Windows)。 但是WANdisco有依賴JavaHL的工具,所以我無法想象Windows二進制文件缺少JavaHL。
[問題作者編輯完成詳細]
您需要安裝(Windows)Subversion客戶端( 而不是 SmartSVN),並確保選中該框以將其添加到Windows PATH
。 這將'配對'JAR存儲在安裝目錄中(以及本機庫)。 但是 ,WANDisco只提供32位安裝(請參閱此論壇帖子 ),因此這不適用於64位Windows。 此外,JAR僅包含API的Apache版本,這些版本是為Subversion 1.7添加的。 如果您使用舊的org.tigris.subversion.javahl
軟件包API與1.7之前的SVN客戶端兼容,則仍需要手動構建JAR。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.