Cor*_*ein 3 java eclipse intellij-idea
我的IDE非常适合为JDK类找到相应的Java源代码。例如,我可以java.lang.String在IDE中打开并查看实际的Java源代码。但是,当我尝试打开sun.net.www.http.HttpClient(包含在Java SDK中)时,IDE只是向我显示了反编译的.class文件,很难读取。
我在macOS上的IDE正在寻找中的源代码/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/src.zip,如果我解压缩该归档文件String.java,HttpClient.java则可以找到,但无处可寻。因此,我的IDE找不到它是有道理的。
在哪里可以获得完整的JDK源代码?
如果您使用的是Linux,则可以在OpenJDK Project上找到更完整的源代码存档。但是在macOS以及可能的其他平台上,这是一种对我有用的方法:
git clone https://github.com/openjdk-mirror/jdk.git
cd jdk
git checkout jdk8u/jdk8u/master # For Java 8
Run Code Online (Sandbox Code Playgroud)
find . -name HttpClient.java # Or whatever class you want
./src/share/classes/sun/net/www/http/HttpClient.java
Run Code Online (Sandbox Code Playgroud)
在这里,您可以看到它位于目录sun.net.www.http.HttpClient中的sun包中src/share/classes。
mkdir ~/java
# Replace path below with location of JDK on your machine
unzip /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/src.zip -d ~/java
cp -r ./src/share/classes/sun ~/java
Run Code Online (Sandbox Code Playgroud)
cd ~/java
zip -r src.zip *
cp src.zip /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/src.zip
Run Code Online (Sandbox Code Playgroud)
您可能必须重新启动IDE,但是现在它应该能够找到以前缺少的源代码。
| 归档时间: |
|
| 查看次数: |
3728 次 |
| 最近记录: |