What does rt.jar stand for in Java/JDK/JRE?

The most likely answer is, rt stands for RunTime. Some tend to think it stands for RooT, since this jar contains all java build-in classes. But I have yet to find any official Sun documents regarding this acronym.

Whether it stands for RunTime, RooT, or anything else is not important. The question I have is, why would the java creator chose to use such a undescriptive name. Maybe it can make your classpath shorter? But we rarely put rt.jar in system classpath.

Here are 2 reasons I don't like the name rt.jar:

  • While experienced developers take it for granted, java beginners don't know what it is other than it's a jar. So it's one more questions in beginners' mind.
  • The shorter the name, the easier it is to cause naming conflicts, at least visually. While rt.jar will always reside under $JAVA_HOME/jre/lib, it is possible your applications may have another jar also named rt.jar.
I know rt.jar will be with us as long as java is, but just for the sake of discussion, how would you name it differently? Maybe java.jar, or java-core.jar?

PS: What does jar stand for? Jar stands for Java Archive. A jar file usually has file name extension .jar. It contains mainly java class files but any types of files can be included, e.g., XML files, HTML files, properties files, gif/jpg image files, text files, PDF files, and binary files, and so on.

PS: What is the difference between a jar file and a zip file? Basically, a jar file is the same as a zip file, except that the jar file contains a META-INF directory to store metadata or attributes. The most well-known file is META-INF/MANIFEST.MF. You can customize the content of a MANIFEST.MF when creating a jar file, and if you don't, a default one is generated and included. For example:
Manifest-Version: 1.0
Created-By: 1.5.0_06 (Sun Microsystems Inc.)
It's perfectly fine to have other configuration files and directories under META-INF.
Tags: , , ,


Brian Duff said...

I'd actually go further and split it up into several smaller jars, each of which corresponds to some unit of discrete functionality (e.g. swing, collections framework, etc.). The Class-Path manifest mechanism could be used to still have an rt.jar that rolls up all the other jar files for those who don't need that level of granularity on their classpath.

But as you pointed out, we are indeed stuck with the monolithic rt.jar, probably for the lifetime of java.

howto said...

I like the idea of using Class-Path in manifest. This technique is also used by j2ee.jar in JavaEE 5 SDK/Glassfish/SJSAS 9: j2ee.jar delegates everything to javaee.jar.

It can be a good option for advanced users, though people may worry about the integrity and compatibility issues.

If we had this, we wouldn't need to use java.endorsed.dirs to override JDK's (prior to 1.4.2) xml SAX and DOM impls.

Now that Java will be open source (don't know when), maybe it's good time for the community to lobby this.

Ahmed Mostafa said...

Here is what Sun says about it:
rt.jar -- the bootstrap classes (the RunTime classes that comprise the Java platform's core API).

part21 said...

Are you kidding me? javacore in itself is a diagnostic log, wouldn't we confuse it there?

Anna said...

Great and Useful Article.

Online Java Course

Java Online Training

Java Course Online

J2EE training

online J2EE training

Best Recommended books for Spring framework

Java Interview Questions

Java Training Institutes in Chennai

Java Training in Chennai

J2EE Training in Chennai

java j2ee training institutes in chennai

Karthika Shree said...

It's interesting that many of the bloggers to helped clarify a few things for me as well as giving.Most of ideas can be nice content.The people to give them a good shake to get your point and across the command.
Java Training in Chennai

suresh H said...

This information is impressive..I am inspired with your post writing style & how continuously you describe this topic. After reading your post,thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic Excellent article.Very informative blog post about creating a Jmenuapp in Java. Especially if you are a beginner, this post will really help. I am going to bookmark your blog for future readings. Keep up the good work!
AngularJS Training Institute in Chennai
AngularJS Cetification Training in Chennai
AWS Training in Chennai
AWS Devops Training in Chennai
Best AngularJS Training in Chennai
AngularJS Training in Chennai

Prasad Gowtham said...

Great post! Thanks for sharing with us, Its really gives lot of useful information. Regards,

Angularjs Training in Chennai

Deepika Analy said...

Wow, Excellent post. This article is really very interesting and effective.you are posting a good information for people and keep maintain and give more update too.
Android Training
Android Training in Chennai

pavithra dass said...

All are saying the same thing repeatedly, but in your blog I had a chance to get some useful and unique information, I love your writing style very much, I would like to suggest your blog in my dude circle, so keep on updates.
AWS Training centers in Chennai
Aws Certification in Bangalore
AWS Training in Thirumangalam
AWS Training in T nagar

Priya Rajesh said...

Learned a lot from your blog. Good creation and hats off to the creativity of your mind. Share more like this.
DevOps certification Chennai
DevOps Training in Chennai
Angularjs Training in Chennai
AWS Training in Chennai
RPA Training in Chennai
Blue Prism Training in Chennai

LindaJasmine said...

Interesting Post. Looking for this information for a while. Thanks for Posting.

Node JS Training in Chennai
Node JS Course in Chennai
Node JS Advanced Training
Tableau Training in Chennai
Tableau Course in Chennai
Primavera Training in Chennai
Primavera Course in Chennai
Pega training in chennai
Pega course in chennai

Aruna ram said...

Thank you for sharing this useful information. I got more information in this blogs comment. keep blogging…
Ethical Hacking Certification in Bangalore
Learn Ethical Hacking in Bangalore
Ethical Hacking Training in Perambur
Ethical Hacking Course in Nolambur
Ethical Hacking Training in Chennai Velachery
Ethical Hacking Course in Tnagar

Vicky Ram said...

Great informative bog. Thanks for sharing such a valuable information with us.

Article submission sites