Java 8を必要とする最新のJavaFXでプログラミングをしたいのですが、IntelliJ 13 CEとMac OS X 9 Mavericksを使用しています。私はOracleのJava 8インストーラを走らせました、そして、ファイルはそれらが最終的になったように見えます
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk
しかし、以前のバージョンは
/System/Library/Java/JavaFrameworks/jdk1.6....
最新のインストーラがなぜこれを/Library
ではなく/System/Library
にしているのか(そしてその違いはなんであるのか)わからない。しかし/usr/libexec/Java_home
は1.8を見つけられないので、現在のJavaバージョンを設定する方法について私が見つけたすべての投稿は機能しません。 1.8が/System/Library...
パスにあるように見せるためにシンボリックリンクを追加しようとしましたが、役に立ちません。 /usr/libexec/Java_home -V
はまだ古いJava 1.6だけをリストしています。
皮肉なことに、システム環境設定の下にある「Java」コントロールパネルにはJava 1.8しか表示されません。
オラクルのインストーラがどうしてそれを現実のものとしないのでしょうか。そして、どうすればこの問題を回避できますか?
MacにJavaを正しくインストールするためにOracleに頼らないでください。
自作 を使用します。これで最新のjdkがインストールされます。
brew cask install Java
Mac上で複数のバージョンのJavaを管理したい場合は、 jenv の使用を検討してください。
アップデート:Java 8をこのようにインストールしたいのであれば、Java 8はもはや最新バージョンではありません。
brew tap caskroom/versions
brew cask install Java8
すべての古いバージョンのJavaのリストを取得するには、brew tap caskroom/versions
を使用してからbrew search Java
を使用します。
brew cask を使用します。そうしないと、お使いのMacにJavaが正しくインストールされない可能性があるOracle GUIインストーラを使用することになります。 (GUIアプリケーションをインストールするにはbrew cask install APPを使用し、brew install APPを使用してください。)JavaはGUIアプリケーションではありません。それはshould "cask"を必要としませんが、少なくともOracleは一貫しています。
El Capitan 、 Sierra および High Sierra
まずターミナルから brew をインストールして更新します。
/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew tap caskroom/versions
brew update
Java 8:
brew cask install Java8
Java Latest:
brew cask install Java
私はちょうど私のMBPでこれをした、そして使わなければならなかった
$ brew tap caskroom/versions
$ brew cask install Java8
java8をインストールするために。
ローカルコンピューターでアプリケーションを実行するために私が本当に好きになり始めているオプションは、Dockerを使用することです。公式のJDKコンテナ内でアプリケーションを実行するだけです。つまり、ローカルマシンですべてをセットアップすることを心配する必要はありません(または、異なるアプリなどで複数の異なるバージョンのJDKを実行することを心配する必要はありません)
これは現在のインストールの問題には役立たないかもしれませんが、開発マシンでJavaを正しく実行しようとすることに関連する問題の地雷原を回避できることを意味するソリューションです!
利点は次のとおりです:
非常に簡単な例:
Dockerfile
を作成します。
FROM Java:8
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
Java:8
-Java 7を使用するには、単にJava:7
と指定できます)/usr/src/myapp
ディレクトリにマッピングしています。docker-compose.yml
ファイルを作成します。
version: "2"
services:
Java:
build: .
volumes:
- .:/usr/src/myapp
ここで、次のJavaファイルがあると仮定します。
HelloWorld.Java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
したがって、次のファイル構造があります。
.
|_ Dockerfile
|_ docker-compose.yml
|_ HelloWorld.Java
次のようなさまざまなJavaを実行できます。
コンパイル:
docker-compose run --rm Java javac HelloWorld.Java
run:
docker-compose run --rm Java java HelloWorld
docker-compose run
-コンテナ内からコマンドを実行します-rm
は、コマンドの実行が終了したらコンテナーを削除するようにdockerに指示しますJava
は、このコマンドが実行されるサービス/コンテナ(docker-composeファイルから)の名前ですこれは、ローカルセットアップを完全に混乱させることなく、さまざまなアプリに対してJavaのさまざまなバージョンを実行するのに非常に便利な方法です。
MavenとシンプルなSpringアプリ を持つ、もう少し複雑な例です。
免責事項:
私は、Android SDK Managerを実行するためにJDK 8をインストールする必要があるので(JDK 9ではうまく動作しないようだから)、解決すべき同じ問題を抱えています。 Mac(Sierra)では.
まず、 brew with caskと jenv が必要です。
brew tap caskroom/versions
brew install jenv
brew cask install Java8
(最新のバージョンをインストールしたい場合はJava7
またはJava
)を使用して、必要なバージョンをインストールします。jenv versions
にあなたのマシンにインストールされているすべてのバージョンをリストアップし、そしてjenv global [JDK_NAME_OF_LIST]
であなたが欲しいものを起動このGithub Gist brew-Java-and-jenv.md 、このブログ Macに複数のJDKをインストール 、および Jenv Webサイト で、その他の役立つ情報を見つけることができます。
Java8は自作では利用できなくなりました。brew install Java8
は機能しません。
代わりに、
brew cask install adoptopenjdk/openjdk/adoptopenjdk8
技術的な詳細については このコミット を参照してください。
Cask adoptopenjdk8 exists in multiple taps
に関して問題があるかもしれません。これは既知の問題であり、現在取り組んでいます。こちらからご覧いただけます。
https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/106
詳細に目を通したくない人のために、ここに要約があります。
# To install JDK8
brew cask install adoptopenjdk/openjdk/adoptopenjdk8
# To be able to safely run 'brew cleanup'
brew untap adoptopenjdk/openjdk
brew untap caskroom/versions
brew cleanup
brew cask install caskroom /バージョン/ Java8
MacにJavaを配置する使いやすいインストーラーアプリを入手するための複数のソースがあります。 Brewまたは他のアプローチを示唆する他の回答は、私には少し極端に思えます。信頼できるソースからMacインストーラーをダウンロードして実行するだけです。
以下はJava 11のソースを見つけるためのフローチャート図です。そのうちのいくつかはJava 8も提供しています。
JavaVirtualMachines
フォルダーが正しくなりましたなぜOracleのインストーラーは、実際の場所に配置しないのですか?そして、この問題をどのように回避できますか?
問題ありません。
フォルダー/Library/Java/JavaVirtualMachines/
は JVM s on macOS の新しいホームです。
JVMをインストールするには、以下で説明するインストーラーを使用します。
アンインストールするには、単にFinderを使用してそのフォルダーからJVMを削除します。削除を完了するために、システム管理者パスワードの入力を求められます。
2010年に戻ると、 Appleが参加OpenJDKプロジェクト 、および Oracle 、 IBM 、 Red Hat 、 Azul 、およびその他のJavaベンダー。各メンバーは、統一されたOpenJDKコードベースにソースコード、テスト、フィードバックを提供します。
Appleは、JVM用のMac固有のコードのほとんどを提供しました。 Appleは、Mac固有のJVMをリリースしなくなりました。これで、OpenJDKコードベースからビルドされたJVMサプライヤを選択できます。
ソースコードは次の場所にあります。 http://openjdk.Java.net
2017年に、Oracle、JCP、およびOpenJDKは、予測可能な方法で配信されるJavaの定期的にスケジュールされるバージョンに対して 新しい高速「リリーストレイン」計画 を採用していることに注意してください。
詳細については、2018-07 Azul Systemsのブログ投稿をご覧ください。 Emitting Java Update Confusion by Simon Ritter .
Java is Still Free も読んでください。
過去および現在のJVM実装のかなり網羅的なリストについては、 Wikipediaのこのページ を参照してください。
私が知っている3つの現在アクティブなソースを以下に示します。
オラクルは、macOSを含む複数のプラットフォーム用のJDKおよびJREインストーラを提供しています。
Sunの買収以来、Oracleは2つのJVMエンジンの最高の部分 HotSpot と JRocket 、およびそれらを OpenJDK にマージし、独自のブランドのJava実装の基礎として使用しました。
2018年時点での彼らの新しいビジネスプランは、オラクルブランドのJavaの実装を実稼働料金で提供し、開発/テスト/デモでの使用は無料です。以前のリリースのサポートには、有料のサポートプログラムが必要です。彼らは、ブランドリリースがOpenJDKリリースと機能的に同等になることを宣言しました。彼らはOpenJDKプロジェクトにFlight Recorderなどの商用アドオンも寄付しました。
Azul Systems は、さまざまなJVM製品を提供します。
Zulu
行はOpenJDKに直接基づいており、オプションの有料サポートプランで無料で利用できます。Zing
行は、専門の garbage-collector などの代替技術実装で強化された商用JVM製品を提供します。どちらの行もmacOSのインストーラーを提供します。
現在、macOS上のJava 10.0.1にZuluを使用しています High Sierra with IntelliJ 2018.2および Vaadin 8 。 I このページからダウンロード 。ちなみに、私はnotAppleSystem PreferencesアプリにインストールされているJava関連のアイテムを見つけません。
AdoptOpenJDK は、OpenJDKソースのバイナリをビルドするコミュニティ主導の取り組みです。彼らは、コミュニティのメンバーから寄付されたように、時間の経過とともに更新を提供するつもりです。
OpenJ9 プロジェクトは、JVMエンジンの別の実装であり、HotSpotの代替です。
現在、Eclipse Foundationのスポンサーであり、2017年にIBMから技術と支援が寄贈されました。
ビルド済みのバイナリについては、上記のAdoptOpenJDKプロジェクトを参照します。
OracleまたはAzulが提供するインストーラーは、どちらも操作が非常に簡単です。 Macでインストーラーアプリを実行するだけです。インストールの進行状況を示すウィンドウが表示されます。
完了したら、次の方法でJVMインストールを確認します。
/Library/Java/JavaVirtualMachines/
フォルダーにアクセスして、新しいJVMのアイテムを確認します。Java -version
と入力して、JVMのブランドとバージョン番号を確認します。成功を確認した後、Finderで.dmgイメージのマウントを解除します。次に、ダウンロードした.dmgファイルをゴミ箱に移動します。
私はJava 7と8の両方を使用するアプリケーションを持っていて、常に行ったり来たりしなければなりません。
私はJohanによって書かれたこのスクリプトを使います。
http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/ /
起動時に設定するか、または後でスクリプトを呼び出すことができます。
JDK for Macをインストールしてください。
Java 7
http://www.Oracle.com/technetwork/Java/javase/downloads/jdk7-downloads-1880260.html
Java 8
http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html
あなたのマシンに複数のJavaバージョンがあり、実行時にそれを動的に選択したい場合、つまり私の場合は、2つのバージョンがあります
ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x 3 root wheel 96B Nov 16 2014 jdk1.7.0_71.jdk/
drwxr-xr-x 3 root wheel 96B Mar 1 2015 jdk1.8.0_31.jdk/
/etc/profile
の内容を変更することでそれらを変更できます。ファイルの最後に次の2行を追加(または変更)するだけです。
export Java_HOME=YOUR_Java_PATH/Contents/Home
export PATH=$Java_HOME/bin:$PATH
私の場合は、使用したい場合は次のようになります。
Java 7:
export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$Java_HOME/bin:$PATH
Java 8:
export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$Java_HOME/bin:$PATH
ファイルを保存した後、source /etc/profile
を実行してください。これは私がそれに応じて最初と2番目のオプションを使用したときの結果です。
Java 7:
Java -version
Java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java 8:
Java -version
Java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Javaフォルダが別の場所にある場合も、プロセスは似ています。
これらのコマンドをmacで実行してください High Sierra
brew update
brew tap caskroom/versions
brew cask install Java8
コマンドで確認
Java -version
最善の方法はBrewパッケージマネージャを使用することですが、コマンド
brew cask install Java8
エラーで失敗します。
Error: No available formula with the name "Java8"
だから使う
brew cask install caskroom/versions/Java8
どのように私は "caskroom/versions/Java8"を見つけましたか:brew searchコマンドを使って:
brew cask search Java8
醸造を使用する
brew install Caskroom/cask/Java
仮定:Macマシンとあなたはすでに自作をインストールしました。
キャスクをインストールします。
$ brew tap caskroom/cask
$ brew tap caskroom/versions
最新のJavaをインストールするには
$ brew cask install Java
Java 8をインストールするには
$ brew cask install Java8
複数のバージョンをインストール/管理したい場合は、 'jenv'を使用できます。
Jenvをインストールして設定します。
$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
インストールしたJavaをjenvに追加します。
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home
インストールされているすべてのJavaを見るには:
$ jenv versions
上記のコマンドは、インストールされているJavaのリストを表示します。
* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
Oracle64-1.8.0.202-ea
使用するJavaのバージョンを設定します。
$ jenv global Oracle64-1.6.0.39
Java_HOMEを設定するには
$ jenv enable-plugin export
最も簡単な方法 -
1) brew cask install Java (No need to install cask separately it comes with brew)
2) Java -version
Java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
P.S - ブリューキャスクとは何ですか? Homebrew-CaskはHomebrewを拡張し、Homebrewを使用してアプリケーションをインストールした後に、追加コマンド - “インストールするにはこのアイコンをドラッグします…”を実行するという面倒を解決します。
まだSDK man( https://sdkman.io/ /)について言及していないようです。
SKD manは、Macに複数のバージョンのJavaをインストールし、それらのバージョンを簡単に切り替えることができます。より詳しい情報は https://sdkman.io/usage にあります。
例えば:
$ sdk list Java
================================================================================
Available Java Versions
================================================================================
* 12.ea.20-open
11.0.1-zulu
> * 11.0.1-open
10.0.2-zulu
10.0.2-open
9.0.7-zulu
9.0.4-open
8.0.192-zulu
8.0.191-Oracle
+ 8.0.181-Oracle
7.0.181-zulu
1.0.0-rc-10-grl
1.0.0-rc-9-grl
1.0.0-rc-8-grl
================================================================================
+ - local version
* - installed
> - currently in use
================================================================================
$ sdk install Java 8.0.191-Oracle
$ sdk use Java 8.0.191-Oracle
Using Java version 8.0.191-Oracle in this Shell.
$ Java -version
Java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
$ sdk use Java 11.0.1-open
Using Java version 11.0.1-open in this Shell.
$ Java -version openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
```
最も簡単な方法は、以下のサイトからdmgファイルをダウンロードし、ダブルクリックでインストールすることです。
http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html
ホームディレクトリから利用可能なJVMを探す
ls -al /Library/Java/JavaVirtualMachines
そして関連するバージョンで.bash_profileを更新します
export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_XXX.jdk./Contents/Home
export PATH=$Java_HOME/bin:$PATH
そして最後に
source ~/.bash_profile
個人的な使用のためにNOTを使用している場合は、Oracleからの訴訟を回避するためにOpenJDKを使用することをお勧めします。
brew cask install adoptopenjdk8
試してください:
brew cask install Java 8、、それは以下の結果を与えるでしょう
8トラックラジオヘルパーの採用topenjdk8 amitv87-pip corretto8 icons8 vmware-fusion8 x48 zulu8
次に入力してください:brew cask install adaptopenjdk8 ---- MacにはJava 8がインストールされます。
私は、バージョンを変更するのが非常に簡単な(一時的かつ恒久的な)SDKマンを使うことを勧めます、そしてそれは他のSDKも提供します。私はSDKのmanを1年以上使用しています。