特定のJDK(たとえば最新のもの)をインストールしたい。このために、私はJDKダウンロードホームページに行きました: http://Java.Sun.com/javase/downloads/index.jsp 。私はMac版を探したが、Linux、Windowsそして Solaris ...用のダウンロード可能なバージョンしか見られないことに少し驚いた。
これがMacへのメッセージです。
「アップルコンピュータは独自のバージョンのJavaを提供しています。アップルメニューにあるソフトウェアアップデート機能を使って、お使いのMacに最新バージョンのJavaがあることを確認してください。」
OK BUT... MacでJavaをアップデートすると、JDKではなく JRE があります...
Mac用の(解凍するjarファイルのような)簡単にダウンロード/インストール可能なJDKバージョンが存在しない理由がわかりません...
@ Thiloの回答の下のコメントで、@ mobibobはMac上の.bash_profileにJava_HOMEを設定する方法を尋ねました。回答:
export Java_HOME=`/usr/libexec/Java_home`
これにより、「Java Preferences」ユーティリティの「General」タブにリストされている最初のJDKの場所が動的にJava_HOMEに割り当てられます。
Apple Technical Q&A 1170を参照してください。 https://developer.Apple.com/library/content/qa/qa1170/index.html
編集:
あなたがコマンド置換のためにバッククォートに括弧を好むならば、これはまた働きます:
export Java_HOME=$(/usr/libexec/Java_home)
メッセージが言うように、あなたはMac上のJavaのためにSunではなくAppleに行かなければならない。私の知る限りでは、Apple JDK 6はMac OS X 10.6(Snow Leopard)にデフォルトでインストールされています。 Mac OS XインストールDVDから開発者ツールをインストールする必要があるかもしれません(devツールはOS DVDからのオプションのインストールです)。
http://developer.Apple.com/Java/ を参照してください。
NOTE2009年10月16日からのこの回答は古くなっています。 Mac OS X用のJDKは、OracleのWebサイトにある通常の JDKダウンロードページ から入手できます。
昨日MacBook Proを購入しました( Mac OS X v10.8 (Mountain Lion))。デフォルトではJDKはインストールされていません...
Javacだけでなく、 SVN などのパッケージもインストールされていないことがわかりました。 Appleの開発者ページ (あなたのAppleIDに登録する必要があるでしょう)からすべてを得ることができます。 SVNは "Command Line Tools"パッケージの一部です。
これが新鮮なMacBookで起こることです:
うまくいけば、これは私のような他の初心者を助けるでしょう;)
説明は、JDKは少し固有のものであり、ライブラリtools.jarは含まれていないということです。私の開発には、このライブラリが必要です。MacのJDKでは提供されていません。
tools.jarが存在しません。通常ここにあるクラスは、代わりにclasses.jarに含まれています。 tools.jarの存在に依存するスクリプトはそれに応じて書き直す必要があります。
それは吸います!
最も簡単な方法は 自作 を使うことです。 Homebrewをインストールしてから:
brew tap caskroom/versions
brew cask install Java7
次のコマンドを使用して、利用可能なすべてのバージョンを一覧表示できます。brew cask search Java
1つのMac OS Xシステム上に複数のバージョンのJava(Apple独自のJava 6およびOracle JDK 7、さらには8)を持ち、異なるアプリケーションに異なるバージョンを使用することには、さまざまな注意が必要な問題があります。私は 私のMac OS X 10.9.2上のJDKのさまざまなバージョンのインストールと設定の経験 を書くのにしばらく時間をかけました。
Brewをインストールしたなら、以下のcmdが役に立ちます。
ブリューキャスクインストールJava
Mac OS X v10.6 (Snow Leopard)以降、32ビットまたは64ビットのいずれかで32ビットモードでJava 6を実行できます Intel プロセッサ搭載のMac 。
Snow Leopardにアップグレードできない場合は、 Soy Latte がIntel 32ビット用のJava 6のコンパイル済みバージョンです。
(JDK 6環境で)-source 1.5 -target 1.5を使用してコンパイルすると、1.5以前の言語要素のみが優先されます。すばらしいです。しかし、とにかく6では言語の変更はありませんでした。このアプローチの問題点(1.6を搭載したMac)は、rt.jarに存在するため、1.5以降のクラスを使用してもコンパイルできます。そのため、1.5 envで実行すると、コンパイル時に事前の警告なしにクラスが見つからないという例外が発生する可能性があります。私はこれをjavax.swing.event.RowSorterEvent/Listenerで難しい方法で見つけました。どちらも "1.6以降"と入力されていますが、-source 1.5では検出されません。
JDKはJava開発キット(Javaソフトウェアの開発に使用される)です。
JRE はJavaランタイム環境です(任意の.jarファイル 'Java software'を実行するために使用されます)。
JDKの中にはJREが含まれています。
Windows上でJavaを更新すると、JREも自動的に更新されます。
MacではJREは分離されていませんが、JDKの内部にあるため、Javaを更新するとJDKの内部にあるJREも更新されます。 JDKはインストールされません。あなたはどこか他のところからそれを入手する必要があります。
ほとんどの答えは古くなっているので、2018年末現在、次のように仮定して機能します。
その場合は、 Oracle GPLv2 OpenJDKサイト 、または AdoptOpenJDK (まだテストしていない)から目的のバージョンを入手してください。以下では、Mac用のバージョン11.0.1を想定しています。それからあなたの大好きなシェルでしてください:
tar -xzf openjdk-11.0.1_osx-x64_bin.tar.gz
Sudo mv jdk-11.0.1.jdk /Library/Java/JavaVirtualMachines
# Fix owner and group
Sudo chown -R root:wheel /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk
# (Optional) Check if the new JDK can be found
/usr/libexec/Java_home
=> /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
[0]オラクルブランドのJDKには 重要なライセンス制限 基本的にはその使用を許可していますテスト用のみ、つまり本番用には使用しないでください。サポート契約がない場合Oracleの場合は、特に OpenJDKとの違いは最小限です 以降、JDKを使用するのは危険です。
この素晴らしいツールをチェックしてください sdkman あなたのjdkと他のjdk関連のツールをとても簡単に管理するために!
例えば.
$sdk list Java
$sdk install Java <VERSION>
私はこの他のStack Overflowの質問が役に立つかもしれないと思います:
基本的に、古いバージョンのJDK(例えば1.4や1.5)でJavaアプリケーションをコンパイルまたは実行する必要がある場合は、後方互換性があるため1.6を使用して実行できます。そのためには、javacオプションまたはIDEにパラメータ-source 1.5
および/または-target 1.5
を追加する必要があります。
原則として、ソフトウェアアップデートを通じてアップルが提供するもの以外のバージョンのJavaをMacにインストールすることはできません。 Java 6が必要な場合は、64ビットIntelコンピュータが必要です。あなたが少なくともOS X 10.4を持っているなら、あなたはいつもJava 5と1.4そしておそらく1.3をインストールするべきです。
あなたが非常に多くの肘のグリースを持っていて、ベータ版のソフトウェアを使用しても構わないと思っているならば、あなたはOS Xの下でOpenJDKをインストールすることができますが、私はあなたがそこに行きたくないと思います。