2021-05-12 14:32:11
Ubuntu16.04 Eclipse 安裝 SVN 外掛 subclipse 時 JavaHL 報錯解決
系統環境:
Ubuntu 16.04 64bit
Eclipse Neon for J2EE
JDK 8
svn伺服器端版本 1.7
首先檢查svn伺服器版本, 如果svn伺服器版本比svn用戶端版本低, 一定是連結不上的!
安裝 SVN 外掛 subclipse 時 JavaHL 報錯.
網上搜尋後, 似乎只有 Mac OS X 和 Ubuntu 系統下的 Eclipse 才有這個問題.
JavaHL - 負責呼叫SVN的介面, 通過它來滿足 Eclipse 中使用SVN的需求(在 Ubuntu 軟體源裡的包名叫libsvn-java)
同類軟體還有 SVNKit. 但是建議使用 JavaHL , 不建議使用 SVNKit . 後者不穩定, 可能損壞SVN倉庫.
subclipse 版本和 JavaHL版本對應關係
Subclipse | JavaHL |
---|---|
1.10.x | 1.8.x |
1.8.x | 1.7.x |
1.6.x | 1.6.x |
解決 JavaHL 報錯
失敗 - 使用 Ubuntu 16.04 自帶源
直接 sudo apt install libsvn-java
顯示:
需要下載 556 kB 的歸檔。
解壓縮後會消耗 1,062 kB 的額外空間。
獲取:1 http://cn.archive.ubuntu.com/ubuntu xenial/universe amd64 libsvn-java amd64 1.9.3-2ubuntu1 [556 kB]
已下載 556 kB,耗時 0秒 (961 kB/s)
正在選中未選擇的軟體包 libsvn-java。
(正在讀取資料庫 ... 系統當前共安裝有 290230 個檔案和目錄。)
正準備解包 .../libsvn-java_1.9.3-2ubuntu1_amd64.deb ...
正在解包 libsvn-java (1.9.3-2ubuntu1) ...
正在設定 libsvn-java (1.9.3-2ubuntu1) ...
說明 Ubuntu 16.04 自帶源的libsvn-java(JavaHL)版本是1.9.3, 不符合 subclipse 的要求
失敗 - 新增 JavaHL 1.8.x 的源
Ubuntu16.04 自帶軟體源的 JavaHL 還是1.9版本的, subclipse 1.10.x 嚴格要求使用 JavaHL 1.8.x, 所以我們需要新增 JavaHL 1.8.x 的源
sudo add-apt-repository ppa:dominik-stadler/subversion-1.8
sudo apt-get update
報錯:
W: 倉庫 “http://ppa.launchpad.net/dominik-stadler/subversion-1.8/ubuntu xenial Release” 沒有 Release 檔案。
N: 無法認證來自該源的資料,所以使用它會帶來潛在風險。
N: 參見 apt-secure(8) 手冊以了解倉庫建立和使用者設定方面的細節。
E: 無法下載 http://ppa.launchpad.net/dominik-stadler/subversion-1.7/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found
E: 部分索引檔案下載失敗。如果忽略它們,那將轉而使用舊的索引檔案。
其中, xenial是 Ubuntu 16.04 的版本名. 很明顯,
dominik-stadler/subversion-1.8 沒有 Ubuntu 16.04 的版本.
事實上, dominik-stadler/subversion-1.7 也沒有Ubuntu 16.04 的版本, 更不用說dominik-stadler/subversion-1.6了.
結論是, 目前(2016-06-26)在 Ubuntu 16.04 上不能使用subclipse 1.10.x 或 更早版本.
成功 - 使用同類外掛代替 Subclipse
使用 Subversive 4.0 代替 Subclipse
Subversive 4.0 功能一樣強大, 最重要的是它支援JavaHL 1.9.x
在Eclipse選單欄–>Help–>Eclipse Marketplace
搜尋方塊中輸入Subversive
點選安裝, 進入安裝嚮導, 一直下一步, 同意軟體版權宣告後安裝完成, 重新啟動 Eclipse
這時會報錯:
JavaHL not Found
設定Eclipse啟動項
我們已經通過Ubuntu 16.04 的自帶源安裝了 JavaHL( libsvn ) 1.9.3
Ubuntu 12.04以後,JavaHL Library的位置由原來 /usr/lib/jni 改為了/usr/lib/x86_64-linux-gnu/jni
開啟eclipse安裝目錄下的eclipse.ini檔案,將原來設定的
增加一行:
-Djava.library.path=/usr/lib/x86_64-linux-gnu/jni
最終檔案內容如下:
-startup
plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Djava.library.path=/usr/lib/x86_64-linux-gnu/jni
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
重新啟動Eclipse, 可以看到 Windows –> Preferences –> Team –> SVN
右側有好幾個標籤, 選擇 SVN Connector標籤, 下拉式選單已經是 JavaHL 1.9.3 了
Ubuntu 15.04中使用Eclipse 4.4、Java 8以及WTP http://www.linuxidc.com/Linux/2016-04/129821.htm
Ubuntu 14.04 LTS安裝Java 8和Eclipse 4.4 http://www.linuxidc.com/Linux/2014-11/109217.htm
Ubuntu 16.04安裝Eclipse筆記 :http://www.linuxidc.com/Linux/2016-12/138755.htm
Ubuntu 16.04安裝Eclipse http://www.linuxidc.com/Linux/2016-07/133482.htm
Ubuntu 16.04安裝Eclipse並建立桌面快捷方式 http://www.linuxidc.com/Linux/2017-02/140909.htm
如何在Ubuntu 14.04中安裝最新版Eclipse http://www.linuxidc.com/Linux/2014-08/105090.htm
相關文章