Java JDKソースコードはどこにありますか?[閉まっている]


153

Java APIのメソッドが何をするのかを見たいのですが。だから私はJDKのソースコードが欲しいです。Linuxを再インストールする前にsrc.zip、公式のソースコードがすべて入ったパッケージを用意しました。このファイルの場所をEclipseに通知するだけで、コードを確認できました。しかし、今はもうファイルがありません...

だから問題はどこにありますか?


16
私はいつも見つけたsrc.zipJDKのインストールディレクトリにあるパブリックJava APIを含むファイルを。それがあなたが探しているものです(私は主にWindowsを使用していたので、おそらくLinuxディストリビューションにはそれがありません)。
アッシュ

16
これは、JDKソースを検索するときに、この質問がグーグルで3位であることはばかげています。#1と#2は、ソースコードリンクがないOracleリンクです。JDKをインストールするとき、私はいつもこの質問をします。オラクルお願いします。
Andrzej Rehmann 2014年

4
src.zipはコアAPI専用のソースバンドルです。OracleからのJava SE全体の公開ソースはありません。一部はクローズドソースです。ただし、プラットフォームによっては、100%のソースが利用可能なOpenJDKバイナリにインストールして使用できます。ソースの場合-openjdk.java.netにアクセスし、必要なバージョンのソースのリポジトリを複製します。バイナリの場合-IcedTea for Linuxを含むいくつかのベンダーがそのようなバイナリを提供しています。
Ivan Krylov

1
@Hoto、私は1996年以来Javaを使用していて、JDK7のoracle src.zipを見つけようとして頭を悩ませています。これは信じられないほど愚かです。それはどこですか???? かつてこれほど難しいことはありませんでした。注:OpenJDKは必要ありません。

2
@Ash、私はいつもインストールディレクトリでもsrc.zipを見つけていました。次に、それを./src/ディレクトリーに抽出しますが、すべて順調でした。しかし、現在はありません。実際には、JDK 1.7 readmeは、src.zip が存在する必要があることを示しています。そして、ありません。これは厄介です。

回答:


128

どのバージョンを使用するかはまだ言っていませんが、JDK 8のソースコードのアーカイブは、JDK 7およびJDK 6とともにここからダウンロードできます。

さらに、Mercurialリポジトリを参照または複製できます。876


1
はい; 6が必要だと言って、そのダウンロードページで何をダウンロードすればよいですか。大きなファイルjdk-6u21-ea-src-b04-jrl-05_may_2010.jar, 136.48 MB?すでにダウンロードしました。しかし、ソースコードは含まれていません。
Martijn Courteaux

3
@Martijn:大きなjarファイルをダウンロードして、その中のREADMEを読んでみましたか?基本的にはで実行するだけjava -jar jdk-6u21-ea-src-b04-jrl-05_may_2010.jarです。ソースを抽出します。
Jon Skeet、

2
はい、そうしました。そして、私はあなたが書いたようにそれを抽出しました。ただし、ソースjarまたはzipは含まれていません。
Martijn Courteaux

1
現在(2013年)の場所がjdk7.java.netになり、ダウンロードのためにOTNにリダイレクトされることを追加したかっただけです。
Kedar Mhaswade 2013


32

JDKでソースコードを既に入手している場合は、どこにあるかを見つけることが重要です。場合によっては、JDKフォルダーにソースコードが含まれていません。

sudo apt-get install openjdk-7-source

OSX Folks、自作式で検索。

ubuntuでは、上記のコマンドはソースファイルを/ usr / lib / jvm / openjdk-7 /の下に置きます。

良いニュースは、Eclipseがすでにそこに行くということです(EclipseをJavaソースコードにバインドする方法)。

オレンジ色のボタンに従ってください

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


16

残念ながら、これを書いている時点では、独自のドキュメントのreadmeを求めていますが、Windowsバージョンをダウンロードしても、JDK 7または8のインストールディレクトリ src.zip はありません。

注:多分これは、私たちの多くが実際にinstall .exeを実行せずに抽出するために発生します。私たちの多くは、セキュリティ上の理由からJavaのインストール(完全なWindowsのインストール)を実行しません。潜在的なウイルスがそれを見つけられない場所にJDKを配置したいだけです。

しかし、Windowsは(それが本当にあるものは何でも).exeをについての彼らの政策は、確かにナッツですもつとも src.zipは、DOESのLinuxに存在するが(.tar.gz形式)をインストールします。.tarと.gzを抽出する方法はいくつかありますが、私は無料の「7Zip」ユーティリティを使用しています。

  1. Linux 64ビット.tar.gzをダウンロード
  2. 7zipを使用して.tar.gzを.tarに解凍します
  3. 7zipを使用して.tarをインストールディレクトリに抽出します
  4. src.zipは、そのインストールディレクトリで待機しています。
  5. それを引き出して、好きな場所に置きます。

オラクル、これは本当に愚かなことを超えています。


3
Oracle JDK8(少なくとも1.8.60)には、Windowsでsrc.zipがありました。しかし、Eclipseはデフォルトでそれを取得しませんでした。
ミレトロン

@milletron、私も最近のWindowsリリースでそれに気づきました。以前はしばらくの間、ウィンドウズのダウンロード画像の作成で何かが壊れたような気がします。おそらく、行終端b / w unix(LF)とwindows(CRLF)の違いに関連していますか?

これは私がJava 9に対してもしなければならなかったことです。
Lii

11

Ubuntuでこの問題が発生しました。

私のJavaインストールのソースを取得するために必要なことは、次のとおりです。

sudo apt-get install sun-java6-source 

Ubuntu 14.04の場合:E: Unable to locate package sun-java6-source
Nateowami

8

OSX Mountain Lionで現在使用しているJDK 1.6には、 src.zipもどちらも。また、私が知る限り、サポートされている1.6用のOSX JDKはもうありません。

そこで、OpenJDKソースを(承認された回答(+1)からのリンクを使用して)ダウンロードして実行しました。

cd ~/Downloads
mkdir jdk6src
cd jdk6src
tar xf ../openjdk-6-src-b27-26_oct_2012.tar.gz
cd jdk/src/share/classes
jar cf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/src.jar *

(ファイル名とパスは異なる場合があります...)

関連付ける src.jarをIDEの適切なJavaプラットフォームに関連付ければ、問題ありません。

OpenJDKソースと現在実行しているJDKの間にはいくつかの不一致があります(1つは、デバッガーで行番号が一致しないためです)。何かがどのように機能するかを理解するためにいくつかのコードをのぞく必要があるいくつかのケースでは、これでうまくいくはずです。


1
thx、私はmacを使用しているときにこれが必要でした。最新のOSやソースの入手方法に関する明確な指示はないようです。(それらはすべて、ソースを含まない更新のダウンロードまたはオラクルからのダウンロードについて話しますが、それはすべてあいまいであるか、
何らかの

1
@dtcが言ったように、そこに出てくる他のすべての命令は誤っているか古くなっているので、これが正しい方法であることを強調したかっただけです。これは、ScalaプロジェクトのIntelliJ 15で実現しましたが、完全に機能しました。ありがとう@MisterEd!
mjuarez 2015年

src.jarは完全なソースではありません。exの場合、javax.netのソースは含まれていません
Kannan Ramamoorthy

4

このファイルは、標準のJDKダウンロードに含まれています。また、Linuxシステムのリポジトリには、おそらくJDKがあります。私のUbuntu Linuxファイルはここにあります:/usr/lib/jvm/java-6-sun-1.6.0.20/src.zip


ああ!Java VMとJDK用にインストールしたパッケージを投稿してください。そのフォルダがないので。
Martijn Courteaux、

4

JDK 8では、ソースは/src.zipにあります。現在、いくつかの中間リリースでは、このzipが欠落していましたが、再び使用できます。ここに画像の説明を入力してください

インストールウィザードからソースも選択するようにしてください。



2

私のMacでターミナルを開いて、「echo $ JAVA_HOME」と入力すると、ディレクトリが表示され、そこに移動してsrc.zipを見つけました。


1

はい!!とった!

Linux用のsun.comからJava Developer Kit(JDK)をダウンロードしました。src.zipが含まれていました。しかし、最初にすべてのJavaパッケージをsynapticでアンインストールしました。


Linuxでは、Javaをインストールするためにrootである必要はありません。私は常に(10年以上)Javaを非rootユーザーとしてUn * xシステムにインストールします(したがって、いいえ、apt-get / synaptic /は使用しません)。
SyntaxT3rr0r

1

公式リンクは、元のソースコードを提供しなくなりました。公式リンクとカジュアルなグーグル検索は、オープンjdkを表示します。ビルドスクリプトファイルを変更しない限り、jdkを開くとAndroidビルドで問題が発生します。元のパッケージはここにあります:

sudo add-apt-repository "deb http://ppa.launchpad.net/ferramroberto/java/ubuntu oneiric main"

このリポジトリにはまだsun-java6-sourceパッケージがあります。クレジット:http : //pulasthisupun.blogspot.com/2012/05/installing-sun-java-6-with-apt-get-in.html

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.