2017-10-18 138 views
0

由於this issue,目前科爾多瓦無法在Java 9上運行(請糾正我,如果我錯了)。Cordova沒有使用Java 9.如何爲Cordova設置特定的jdk?

類似的問題進行了討論here,但所提出的解決方案,需要拆除的Java 9,或JAVA_HOME環境變量指向到Java 8的復位,但兩者有副作用,所有其他Java應用程序將運行在Java 8.

那麼你如何設置科爾多瓦使用Java 8,其餘的應用程序仍然在Java 9上?

回答

2

... the reset of the JAVA_HOME environment variable to point to Java 8, but [that] has the side effect that all the other Java applications will run on Java 8.

只有你這樣做是錯誤的!

創建一個包含此文件(說mycordova.sh),使其可執行,並把它放在你的shell的命令搜索路徑。

#!/bin/sh 
export JAVA_HOME=/path/to/java8/home 
cordova "[email protected]" 

運行該命令運行cordova使用Java 8 沒有干擾其他應用程序。


UPDATE - 如果變通建議是使用alternatives改變,這意味着,科爾多瓦發射/腳本,沒有使用JAVA_HOME找到java命令。你也可以處理。有幾個可能的原因:

  • 如果cordova是一個包裝腳本,然後將其複製並編輯它使用的是您要使用的java命令(ETC)的版本。以便Java JRE 8的bin目錄位於包含java鏈接alternatives管理目錄的

  • 如果沒有,那麼你mycordova.sh腳本(見上文)也更新PATH變量。這將工作...提供的標準科爾多瓦發射沒有硬連線/usr/bin/java


更新2 - 爲mycordova.sh最終腳本是:

#!/bin/sh 
export JAVA_HOME=/path/to/java8/home 
export PATH=/path/to/java8/bin/:$PATH 
cordova "[email protected]" 
+0

我的壞,因爲在鏈接問題中討論了單獨重置JAVA_HOME是不夠的,它需要一個'sudo update-alternatives --config javac'或者在我的情況下是一個'sudo archlinux-java set java-8-openjdk'。 認爲,這種解決方案輸出該: '$ mycordova.sh運行android' 'ANDROID_HOME = /家庭/ MYHOME/devel的/ Android設備/ Sdk' 'JAVA_HOME =/usr/lib中/ JVM/JAVA -8-的openjdk ' '錯誤:JDK 1.8或更高版本的需求檢查失敗 – oidualc

相關問題