2014-05-09 70 views
0

我使用卡桑德拉的持久性和致命的我對Cassandra的客戶端API一個Java測試項目。另外,出於測試目的,我在Drone.io上運行Gradle構建此項目。更改JVM版本建立在Drone.io

Achilles庫依賴於Java 7,這是Drone.io構建的可能類型之一,但由於這是Gradle構建,因此有必要將其構建爲Groovy構建。據this official doc page,應該還是可以在構建腳本中使用的Java 7 Groovy的JVM中只有一個額外的指令,以從默認的1.6 JVM改變:

sudo update-java-alternatives -s java-1.7.0-openjdk-amd64 

然而,加入該行後構建指令,我從Drone.io生成日誌以下錯誤消息:

update-alternatives: error: no alternatives for mozilla-javaplugin.so. 
update-java-alternatives: plugin alternative does not exist: /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so 

這顯然是爲我到谷歌管理的一些解決方案的常見錯誤。 我的問題是,所有這些解決方案涉及到安裝插件和/或將條目添加到源列表,這似乎並沒有要在Drone.io虛擬機非常簡單。

一個解決方案正在運行sudo update-alternatives --install /usr/lib/mozilla/plugins/mozilla-javaplugin.so mozilla-javaplugin.so /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/libnpjp2.so 1(我更新從original solution的路徑,以反映虛擬機的目錄結構)安裝缺少lib中,但在VM這個位置沒有libnpjp2.so文件。

擁有在Groovy /搖籃使用Java 7中建立或Drone.io有變通辦法的任何想法,任何人有更好的運氣?

回答

0

使用搖籃與drone.io(甚至在一般的),最好的辦法是通過Gradle Wrapper。這適用於任何drone.io構建類型,所以你可以簡單地選擇Java 7

+0

也做到了,謝謝! 對於任何嘗試這種方法的人,不要忘記將Gradle包裝文件(特別是jar文件和gradlew腳本)添加到Drone.io使用的存儲庫中。 – Herick