Mac OS Xに特定のJDKをインストールする方法は?


197

特定の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バージョンが存在しない理由がわかりません...


70
有名な質問...あなたは答えを受け入れる必要があります。;)
gary、

Finkはこれに対するソリューションを提供します。
Daniel

10
Javaの7は現在、Oracleが提供されることに注意してください-答えのほとんど以前の状態を参照してくださいquestio
MMMMMM

回答:


44

@Thiloの回答の下にあるコメントで、@ mobibobはMacの.bash_profileにJAVA_HOMEを設定する方法を尋ねました。回答:

export JAVA_HOME=`/usr/libexec/java_home` 

これにより、「Java設定」ユーティリティの「一般」タブにリストされている最初の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)

20

メッセージが言うように、Mac上のJavaのためにSunではなくAppleに行かなければなりません。私の知る限り、Mac OS X 10.6(Snow Leopard)にはApple JDK 6がデフォルトでインストールされています。Mac OS XインストールDVDから開発者ツールをインストールする必要があるかもしれません(開発ツールはOS DVDからのオプションのインストールです)。

参照:http : //developer.apple.com/java/

2009年10月16日のこの回答は古くなっています。Mac OS X用のJDKは、オラクルのWebサイトにある通常のJDKダウンロードページから入手できます



10

昨日MacBook Proを購入した(Mac OS X v10.8(Mountain Lion))デフォルトでJDKがインストールされていません...

javacと同様に、SVNなどのパッケージがインストールされていないこともわかりました。Apple開発者ページからすべてを入手できることがわかります(AppleIDで登録する必要があります)。SVNは「コマンドラインツール」パッケージの一部です。

ここに画像の説明を入力してください

これは新しいMacBookで何が起こるかです:

ここに画像の説明を入力してください

ここに画像の説明を入力してください

うまくいけば、これが私のような他の初心者を助けるでしょう;)


5
+1。マウンテンライオンによって状況は少し変わりました。また、AppleはオプションのJavaインストールを提供していますが、それは古いJava 6のみであることにも注意してください。現在、OS X用のJavaの現在のバージョンは、Oracle自体によって配布されています。
Thilo


4

その理由は、JDKは少し固有であり、ライブラリtools.jarが含まれていないということです。私の開発では、このライブラリが必要ですが、MacのJDKでは提供されていません。

http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/02-JavaDevTools/JavaDevTools.htmlを参照)

tools.jarが存在しません。通常ここにあるクラスは、代わりにclasses.jarに含まれています。tools.jarの存在に依存するスクリプトは、それに応じて書き直す必要があります。

ひどい!


1
ああああああ!あなたが発見したように、tools.jarはすでにMac OS Xのランタイムに含まれています。したがって、Macで探すことtools.jarは、JDKであるかJREであるかを知るための適切なアプローチではありません:)
Pascal Thivent

お返事ありがとうございます。私の必要性は、特定のプロジェクトのtools.jar libを取得することでした。私にとっては、jdkを認識するためのアプローチでした;)
ajeanson '16年

4

最も簡単な方法は、Homebrewを使用することです。Homebrewをインストールしてから:

brew tap caskroom/versions
brew cask install java7

次のコマンドを使用して、使用可能なすべてのバージョンを一覧表示できます。 brew cask search java


3

-source 1.5 -target 1.5(JDK 6環境)を使用してコンパイルすると、1.5以前の言語要素のみが有効になります。すごい。しかし、とにかく6で言語の変更はありませんでした。このアプローチの問題(Macで1.6を使用している場合)は、1.5以降に提供されたクラスを使用しても、rt.jarに存在するためコンパイルできることです。そのため、1.5の環境で実行して、コンパイル時に事前の警告なしにクラスが見つからないという例外を取得できます。これは、javax.swing.event.RowSorterEvent / Listenerを使用して難しい方法でわかりました。どちらも「1.6以降」に入ったが、-source 1.5ではキャッチされない



3

のとしてのMac OS X 10.6(Snow Leopardに)、あなたは、32ビットまたは64ビットの32ビットモードでJava 6を実行することができますインテルプロセッサ搭載のMac。

Snow Leopardにアップグレードできない場合、Soy LatteはIntel 32ビット用のJava 6のプリコンパイルバージョンです。



1

この他のスタックオーバーフローの質問が役立つと思います:

Mac OS XでJDK 1.5を入手する方法

それは基本的に、古いバージョンのJDK(たとえば1.4または1.5)でJavaアプリケーションをコンパイルまたは実行する必要がある場合、下位互換性があるため1.6を使用して実行できると述べています。これを行うには、パラメーターを追加する-source 1.5-target 1.5、javacオプションまたはIDE に追加する必要があります。


1

JDKは、Java開発キット(Javaソフトウェアの開発に使用)です。

JREはJavaランタイム環境です(任意の.jarファイル「Javaソフトウェア」を実行するために使用されます)。

JDKにはJREが含まれています。

Windowsでは、Javaを更新すると、JREが自動的に更新されます。

Macでは、JREは分離されていませんが、JDK内にあるため、Javaを更新すると、JDK内にあるJREが更新されます。JDKはインストールされません。別の場所から入手する必要があります。


1
IDKではなくJDKのことだと思います。編集を試しましたが、スタックオーバーフローによると、編集は6文字より長くする必要があります。混乱を避けるためにそれを言及するだけです。
webworm 2013年

1

この素晴らしいツールsdkmanをチェックして、jdkおよびその他のjdk関連ツールを非常に簡単に管理してください!

例えば

$sdk list java
$sdk install java <VERSION>

1

ほとんどの回答は古くなっているため、2018年末現在、

  1. OpenJDKのGPLバージョンをインストールしたい。[0]
  2. Homebrewをインストールしたくない

その場合は、次のように、自由に使用できる多数のOpenJDKエディションから目的のバージョンを入手してください。

これらの一部にはインストーラーが含まれていますが、含まれていない場合は、次の操作を実行できます。ここでは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] OracleブランドのJDKには重要なライセンス制限があるため、基本的にはテスト用にのみ使用できます。つまり、プロダクション用ではありません。Oracleとのサポート契約がない場合、特にOpenJDKと違いが最小限であるため、JDKを使用するのは危険だと思われます。

編集:追加の選択肢


1
AdoptOpenJDK.netからのダウンロードを指摘し、指示に従うことをお勧めします。これにより、Oracleのリリースの法的およびサポートの問題を回避できます。
バジルブルク

0

原則として、Appleがソフトウェアアップデートを通じて提供したバージョン以外のJavaのバージョンをMacにインストールすることはできません。Java 6が必要な場合は、64ビットのIntelコンピューターが必要です。少なくともOS X 10.4を使用している場合は、常にJava 5と1.4、および1.3をインストールする必要があります。

非常に多くのエルボーグリースがあり、ベータソフトウェアで動作することをいとわない場合は、OS XでOpenJDKをインストールできますが、そこに行きたくないと思います。


私が知っているので、そのコメントを追加しました。多分リンクと一緒に行くためにもう少し長いコメントを書くべきだった:-)
Neeme Praks
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.