記事のディレクトリ
- 背景
- の構築
- 不足のcom.sun.toolsパッケージ
- 不足sun.awt.UNIXToolkitとsun.font.FontConfigManager 2つのクラスは、エラーを投影するつながります
- JDKソースにソースコード自体にクリックに関連付けられたメソッドのソースコードを読みます
- その他の問題
- クラスxxxxは無効であるため、デバッグ時間は、代替ソースのavailbleを遅らせます
- 毎日のニュースのコンパイルのjava:不十分のOutOfMemory、ヒントシステムリソース
- 自動的に現在のプロジェクトのsrcディレクトリ(これ、私が言ったように、問題)の下でコードが実行を作るために、コードに関連しました
- 手動で構築された(gitのクローンを通じて、お勧めできませんではありません)
- 参照
背景
プロジェクト内で直接見るJDKのソースコード、それはコメントを追加することはできません、あなたは地元構築する必要があります
の構築
JDKのソースコードの純粋な方法でブログ記事を作成する前に成功している(https://blog.csdn.net/qq_42191317/article/details/102772497)が、(行方不明パッケージ)エラーをコンパイルした後に行く、とシリーズの問題なので、他のものの上に直接構築するgitのクローンからの最終決定。私たちは、添付の決勝の前に練習します。
私は直接の出身https://github.com/wupeixuan/JDKSourceCode1.8ローカルで使用するためにここにクローンを直接開いて、まだ問題を抱えている(ソースコードを読むとき、ソースコード自体にJDKのソースに関連付けられている方法にクリックしてください) 、以下を参照してください
彼らは何が起こるか構築しますか?
最初のIの出会いは次のとおりです。
- 不足のcom.sun.toolsパッケージ
- 不足sun.awt.UNIXToolkitとsun.font.FontConfigManager 2つのクラスは、エラーを投影するつながります
私は自分自身を構築あきらめたように、2つは、私は、本当の人々が着用し、最初の良い、項目に対応した、独自のクラスに手動でこれらのファイルを見つけるために、インターネットからの第二見つけるのに長い時間を見つけた、またはエラー。
不足のcom.sun.toolsパッケージ
ソリューション:ファイル=>プロジェクト構造=>以下のように、プロジェクトに追加したJDKのパスの下にライブラリのlibパッケージ:
不足sun.awt.UNIXToolkitとsun.font.FontConfigManager 2つのクラスは、エラーを投影するつながります
解決策:手動でsrcディレクトリにこれら2つのクラスを追加します
JDKソースにソースコード自体にクリックに関連付けられたメソッドのソースコードを読みます
私は、AQSの外観は、クラスメソッドで見ることができfile is readonly
、その後、JDKに直接クリックし、ソースコードを発見し、ではなく、私自身の建物、そしてこれは私が自分自身のJDKのソースが行くをクリックして構築された方法であり
、あまりにもこれを難しいです
リファレンスのブログにも答えを与えるが、完全な書き込みませんでした。
ソリューション:src.zipファイルを除外するには、次の図を操作することができます。
そうする家主による第1文は、右、我々は確認している
私の直接の完全削除した後、私自身が構築されたJDKのディレクトリSRC追加
このカテゴリに先立ちAQSクリックに従って、操作を完了した後、上記の、または入力してJDKが見つからソースコード自体は、私は絶望、良い解決策を見つけられませんでした。
それは非常に長い時間がかかりました。。。。。。。
ガス私は、このクラスで見つかったキーボードを打った後、キーボードを打つ実際には次の図を入力することができ、ファイルは読み取り専用ではなく、あなたが書くことができましたか?
それでも多分私は愚かだ、知りません
それは、このクラスが、ここで指していることが、それ自体ではここではないだろうか?(私は理解していない、私は表現しません)
右のアイテムコピーパス、絶対パスは、私はJDK環境でもzipパッケージのJDK下の左のショーに、独自のコードを構築するために、パスをインストールしたが言ったパスではありません参照してください。
したがって、この変形例では、その後、私自身の見解を構築するためにJDKのディレクトリが変更されています。
案の定、私は成功したディレクトリの変更を構築し、私の考えが正しい、と私は、公式文書のアイデアはどのように言って見に行ったら、この1はちょうどその、この設定をsourcePathはを変更しましたか?
住所:HTTPS://www.jetbrains.com/help/idea/2016.3/sdk.html
中国への可能性のある完全な翻訳が簡単に理解することはないが、containing the source code for the SDK binaries included in the classpath set.
ここでは其中包含类路径集中包含的SDK二进制文件的源代码。
、クラスパスがあることである
はい、ほとんどの(トピックオフ)でrt.jarの中にJavaソースコードの私たち、ここではクラスパスのポイントが、ソースコード内で、ここにあります上記sourcePathはを通じて類似していリダイレクト 位置にちょうど私の独自のルールを構築。
ウー〜
ああハハ、それは(ジップJDKの中にコメントを追加しようとして)非常に厄介に見えるが、私は、そう思いますが、完璧ではないが、実際に、問題(リダイレクト)を解決しますが、十分な友人ハッハッハ
その他の問題
いくつかの家主の参照他の問題は、私がデバッグを持っていますが、最初の数ステップと、彼らはまったく同じと言うので、彼らの問題への道も記録されていないものの、後で使用されます。があります
クラスxxxxは無効であるため、デバッグ時間は、代替ソースのavailbleを遅らせます
ソリューション:オープン設定=>デバッガ、次の図に、このオプションを選択します。
毎日のニュースのコンパイルのjava:不十分のOutOfMemory、ヒントシステムリソース
コンパイルデイリーニュースのjava:OutOfMemoryを、示唆不十分なシステムリソース(https://blog.csdn.net/ljj821061514/article/details/52371037)
私の元のデフォルトの設定は1000年に、700で、問題なし
自動的に現在のプロジェクトのsrcディレクトリ(これ、私が言ったように、問題)の下でコードが実行を作るために、コードに関連しました
自動的に通常の使用JDKのソースには影響を与えないために、私は1.8studyを作成した(現在のプロジェクトのsrcディレクトリ下のコード実行を行うために、コードに関連した、唯一の違いは、元のsrc.zipがjdk1.8-ソースを置き換えることですsrcディレクトリを-study)(https://blog.csdn.net/u011837804/article/details/80450809)
元のリンクします。https://blog.csdn.net/u010999809/article/details/101922489
手動で構築された(gitのクローンを通じて、お勧めできませんではありません)
少し疲れてこのように、それは推奨されません、githubのに巨人の肩の上にフロントラインで、良いを見つけることをお勧めします。
このようにしてからします。https://blog.csdn.net/qq_42191317/article/details/102772497
簡単な紹介
あなたはJDKのソースが読み取り専用に許可されて表示するときに、プロジェクトの開発では、あなたが変更したり、コメントを追加することはできません。学習JDKのソースコードを容易にするために、私たちの環境をセットアップする最初の必要性は、コメントや他の操作を追加し、JDKのソースコードを変更することができます。
ステップ1:プロジェクトを作成します。
オープンIDEA、良いJDKを選択し、通常のJavaプロジェクトを作成します。
ステップ2:インポートソース
JDK8バージョン我々はプロジェクトを作成し、そのため自動的に良いコード間の依存関係を設定を選択することにより、私たちは何をする必要があるインポート元のプロジェクトにあります。
JDK JDKのソースコードは、SRCフォルダの圧縮袋の下に位置しています。
新しいプロジェクトのディレクトリを開きます。
プロジェクトのsrcディレクトリへのsrcアーカイブの解凍
環境が構築され、次の旅行を読んJDKのソースコードを開始することができます!
参照
https://blog.csdn.net/u010999809/article/details/101922489
https://www.jianshu.com/p/c00db010265b
https://blog.csdn.net/u011837804/article/details/80450809
ます。https:/ /blog.csdn.net/qq_42191317/article/details/102772497