What is the necessity of rt.jar ??
The runtime (rt.jar) holds all the (most of the..) java classes that form the Java SE. It is added to the classpath automatically.
rt = Run Time
It contains all the java runtime libraries. (Essential)
The rt.jar is where all the java packages reside. For example, if a class file calls for the java.util package, then the JVM can look for it inside the rt.jar, thus enabling it to run correctly.
On a side note: Don't mess around with it.