Jar files are archives that can contain one or more classes and resources. They are used as a packaging format for Java programming language-based applications. Jar files are similar to zips, but unlike zips, Jar files do not support internal structure of directories and subfolders. Starting from the Java Platform, Standard Edition (J2SE) 1.4, the platform provides Archive-based API in order to read and write jar files directly. In order to learn how to open source code of jar file in Eclipse you must download Eclipse IDE 3.2 into your computer.
When you want to open the source code of jar file in eclipse, you need to follow these steps: First, Select File -> Open -> Project; Second, Select the Jar File, click browse to open the directory which contains the source code; Third, Click finish or OK to open the source code with Eclipse.
How to get source code from jar file using java De-compilers
- We can get source code from java file by using java De-compilers.
- You can download http://techieme.in/resources-needed/ JDGUI from internet.
- Open JD-GUI and File -> open -> open target jar file.
- It will show java source code.
How to extract java files from jar in eclipse
- We can get java source files from jar file by using eclipse also for this we need to add a plugin.
- Download jar file from http://jd.benow.ca/
- Unzip it . you will get jd.ide.eclipse.plugin_1.0.0.jar file and add it to eclipse plugin folder.
- And restart your eclipse.
- Add target jar file to a project and now click on the file you will get source code.
- You can add target jar file using java project->java buildpath -> add external jars option
- Here i added jstl core jar to eclipse to see java source files.
- Click on the file now it will show source code
- How to extract java files from jar
Attaching the source of any Jar in Eclipse e.g. JDK or open-source libraries like Spring framework is a good idea because it helps during debugging and code development. As a Java programmer at least you should attach the source of JDK in Eclipse IDE to find out more about JDK classes. Though Eclipse IDE is pretty good on code assist, sometimes You want to know what’s going inside a library or a JDK method, rather than just reading the documentation. Interview questions like How HashMap works in Java or How substring causes memory leak can only be answered if you are familiar with the source code of these classes.
Once you attach the source code of Java or Spring in Eclipse IDE, You can check the code with just a single click. Someone may argue for a Java decompiler like JAD which can create a source from the .class file which is also a smart way to look code for an open-source library, but the decompiled source file is not the same as the original source file, as you lost comment and readability.
As per my experience attaching source code corresponding to the JAR file is much better than decompiling a class file using the JAD decompiler.
As I said when you attach source code for any JAR file, You not only see properly formatted code but also all the code comments which are not available if you are decompiling the class file. But at the same time, it’s not possible to attach the Java source code of every single library in Eclipse. So the combination of both decompiler and source code attachment in Eclipse is the best way to go.
As I have always argued for learning Eclipse keyboard shortcuts and Eclipse settings to improve productivity e.g. save action, this is also one of the Eclipse tips which will help you during development and debugging in Java. In this Eclipse tutorial, we will see How to attach source code for any JAR in Eclipse and we will attach the source code of JDK by following the steps given in this tutorial.
Btw, if you are a beginner, I suggest you first go through a beginner course like Eclipse Tutorials for Beginners to understand the core concepts of Eclipse IDE and get yourself familiar with UI and essential features. Learning plugins will be a lot easier after that.
Attaching source code of JDK in Eclipse IDE
There are multiple ways to attach a source in Eclipse for any JAR file, but I found the following approach as the most simple one because it attaches code directly to the JAR file by right-clicking on it.
1. Select any Java project2. Expand Referenced libraries3. Select any JAR file, in our case rt.jar which is Java runtime4. Right-click and go to properties5. Attach source code by browsing the source path.
After performing the above 4 steps following window will appear where you can browse the source code for any JAR file. In our case source code for rt.jar is src.zip which can be found in the JAVA_HOME directory or JDK installation directory on your computer.
Now let’s see What difference attaching source code in Eclipse makes. Suppose you want to see the code of HashSet class to find out How HashSet works in Java or the source code of java.lang.String class to find out the internal implementation of String class.
Let’s use Eclipse shortcut to find any Type e.g. ctrl+T and select java.lang.String class. If you don’t have source code attached for rt.jar or JDK, as java.lang.String belongs to rt.jar, it will display java.lang.String class in class file editor as shown below.
Once you attach source code in Eclipse for JDK by following the above steps, select java.lang.String again. This time, you will see the proper source for the String class from rt.jar as shown in the following pic.
That’s all on How to attach source code in Eclipse for any JAR for debugging or code lookup purposes. I personally add source code of JDK and frequently used libraries like Spring, Hibernate, or Apache commons and leave the rest of JAR for the decompiler to take care of. You can attach source code for even your in-house libraries which is quite common in Investment banks.
One of the most common way of distributing start-up libraries in the Java world is through Jar files. Let’s look at some of the issues involved with opening them up and creating a linked source jar using Eclipse.