How do I view JRE's source code in Eclipse?

Using Eclipse I want to view the source code for a core Java class (E.g. java.util.concurrent.ConcurrentHashMap) but when I navigate to the source using 'Open Declaration' it says 'Source not found' and gives me the option to attach the source.

My question is; how do i attach the source? Where do i get the source .jar from for the java.util.concurrent library?

Upvotes: 85

Views: 94018

Answers (13)

Hirein
Hirein

Reputation: 235

@jjnguy suggestion worked for me. But make sure you have also changed the default compiler as well. Right clickon th project-->Java Compiler->Click on the link under JDK Compliance(right section).

Upvotes: 0

pushpendra yadav
pushpendra yadav

Reputation: 949

we can see C:\Program Files\Java\jdk1.8.0_73\src.zip where C:\Program Files is a home directory where I have installed the java.

in eclipse, it will show like Source not found. form there link will come like browse source. browse the link C:\Program Files\Java\jdk1.8.0_73\src.zip and attach it. now you can see your source code.

Upvotes: 0

Nidhi Sharma
Nidhi Sharma

Reputation: 1

src.zip file is present in installed jdk folder : ..\Program Files\Java\jdk1.8.0_131

Provide this path on the screen showing Attach source... worked for me.

Upvotes: 0

Shahar Gluzman
Shahar Gluzman

Reputation: 71

You can use 'Eclipse Class Decompiler integrates JD, Jad,' from Eclipse Marketplace.

From the find box in the Eclipse Marketplace write: 'jad' and you would find it.

Upvotes: 0

Rocky
Rocky

Reputation: 161

Right click on the project -> Build Path -> Configure Build Path. Now edit your jre > select 2nd option alternate jre -> select any jdk (not jre). Finish, Now open any class by ctrl + click, Its source code will display.

Upvotes: 3

user182013
user182013

Reputation:

When you are coding in Eclipse, press CTRL and click on any core Java class name in your source. Eclipse will now show a screen saying you don't have the sources installed. However, in this screen there is a link saying "Attach source...". Click that link and import the src.zip file from your JDK installation directory (src.zip). This should do the trick

Upvotes: 94

Elias Peterson
Elias Peterson

Reputation:

You should be able to see "JRE System Library [jdk1.x.xxxx]" when you look at your project's Java Build Path.

You can access the project build path configuration screen by: right clicking on the project -> Build Path -> Configure Build Path... You should be able to see the JRE System Library entry at the bottom of the list.

The easiest way to view the source for the class is to use the "Open Type" shortcut. The default for this shortcut is: Ctrl + Shift + T". The class you're looking for should appear as you type it's name.

Upvotes: 6

Outside Eclipse you can see the JDK sources on javasourcecode.org. On this page you can switch from the oficial API documentation to the source code and viceversa.

Upvotes: 1

ruediste
ruediste

Reputation: 2959

For ubuntu, install openjdk-6-source and use /usr/lib/jvm/java-6-openjdk/src.zip

Upvotes: 4

jjnguy
jjnguy

Reputation: 138972

You need to have the JDK installed. Then you can look in JDK_INSTALL_DIR\src.zip

For me it is C:\Program Files\java\jdk1.6.0_11\ (depends on your current version)

You don't need to get a special open source version.

Upvotes: 84

Michael Rutherfurd
Michael Rutherfurd

Reputation: 14065

If you can't find the actual source you can also use a decompiler to regenerate source from the class file.

Personally I use JAD combined with the JADClipse plugin to view source in Eclipse.

Upvotes: 3

Rob Hruska
Rob Hruska

Reputation: 120456

There are a few good answers here on where to get the source. But a word of caution: I'd be wary about how you use it (if you're using it simply for reference). The API documentation is the only contract you should code against, and is what the developers will keep consistent/intact between releases. I wouldn't use the source find out implementation details and then code my applications with regard to those implementation details, as they may change between releases.

Upvotes: 9

Brian Fisher
Brian Fisher

Reputation: 24009

You can go to http://openjdk.java.net/ and download the latest builds of the openJDK project. I think this should give you what you need.

Upvotes: 5

Related Questions