2016-10-25 4 views
0

Dev env:Scala 2.11.8、JDK 1.8.112 x64、Windows 7 x64。 JDK 1.8.112 ScalaはJVM環境をどのように取得しますか?

  • はScalaの2.11.7アンインストールし、インストールされている最新のバージョンにJDKを更新

    問題:Scalaはまだの代わりに、以前のJDK 1.8.101を見て新しいもの1.8.112。

    C:\Users\myUserName>java -version 
    java version "1.8.0_112" 
    Java(TM) SE Runtime Environment (build 1.8.0_112-b15) 
    Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode) 
    
    C:\Users\myUserName>scala 
    Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_101). 
    Type in expressions for evaluation. Or try :help. 
    
    scala> System.getProperty("java.version") 
    res3: String = 1.8.0_101 
    

    理由は、以前のJDKがC:\Program Files\Java\jdk8している間に新しいJDKがC:\Program Files\Java\jdk1.8.0_112にインストールされています。 JAVA_HOME = C:¥Program Files¥Java¥jdk8。だから私はこれがScalaが以前のバージョンを見ている理由だと思う。ただし、PATH

    C:\Users\myUserName>PATH 
    PATH=C:\ProgramData\Oracle\Java\javapath; 
    ... etc... 
    C:\Program Files (x86)\scala\bin;C:\Program Files\Java\jdk8\bin; 
    

    C:¥ProgramData¥Oracle¥Java¥javapathには、最新のJDKに含まれるjava.exeが含まれています。このため、コマンドラインのjava -versionは最新のJDKを表示します。

    質問:Windowsでは、最新のJDKを公式のJDKにする方法は?そして、一般に、Windows上でJDKを更新するために推奨されるプラクティスは何ですか?

  • +4

    あなたの 'JAVA_HOME'は設定されていますか?あなたのScalaバージョンは、お使いのOSがJavaバージョンであることをOSが見いだす方法とはまったく関係ありません。 –

    +0

    コマンド 'set'の出力は何ですか?最初に「1.8.0.101」だったのですか? – Rao

    +0

    こんにちは、ありがとうございます。私は、JAVA_HOMEとPATH環境変数に関する詳細を与えるために質問を編集しました。私は問題が主にWindows環境に慣れていないと思う。 – Polymerase

    答えて

    0

    javaコマンドは、このファイルが見つかったPATH環境変数の最初のフォルダからjava.exeファイルを実行します。

    一方、コマンドはscala.batバッチファイルを実行し、このファイルはscalacのJava環境をJAVA_HOME環境変数で設定します(存在する場合)。

    問題がほぼすべてのシステム多くの異なるフォルダでファイルjava.exeであるということである - (。。すなわちアドビやJetBrainsの製品から)それらのいくつかは、他のプログラムフォルダのサブフォルダかもしれ以前にインストールしていました。

    ファイル名は同じですが、バージョンが異なる場合があります(ほとんどの場合、です)。

    アップグレードすることをお勧めしますか? Oracle itself has problems with it)をインストールして祈ったり、Javaに依存するすべてのアプリケーションをインストールして手動で調整してください。

    関連する問題