Important jar files in JRE
There are a number of jar files present in the lib and lib\ext folder of Java Runtime Environment (JRE). Each one of them has a specific purpose. You may not be using all of them in a single application but it is good to have an understanding of each jar file. Here is the list of these jar files followed by description of each of the jar file:
Note:These jar files are used by Eclipse for building the project.
Here is a brief overview of each of the jar file:
- resources.jar : You will see folders with same name as present in rt.jar. There are resources like images, properties files placed in this jar file.
- rt.jar : It is the heart of Java as it contains .class files for the very common classes which are used in any kind of Java application. These classes include Collections, String, Multi-threading, Serialization and other core API’s of Java.
- jsse.jar : This is Java Secure Sockets Extension jar and includes implementation for SSL related routines When you are using SSL, you are dealing with encryption/decryption, security certificates and HTTPS.
- jce.jar : JCE stands for Java Cryptography Extensions and is meant to be replaced by a third party vendor. By default, this jar file has whole lot encryption algorithms implemented. If you don’t have third party implementation in place then you may use the default implementation sunjce_provider.
- charsets.jar : Here you will find classes related to the conversion of characters from one encoding to another.
- jfr.jar : The JVM from Oracle named JRockit (which is part of Oracle WebLogic) has a component known as java Flight Recorder. JFR in Jrockit is used for analyzing the JVM parameters in terms of various resource usage. With JDK 1.7, it has been made part of lib folder of JRE. For a more comprehensive understanding of JFR, follow the below link:
- dnsns.jar : This jar has got only two class files and this jar is used for DNS name service wrapper for JNDI provider.
- localedata.jar : Contains classes for i18n of Currency, Timezone and Calendar for various countries.
- sunec.jar : This JAR file contains Elliptic Curve cryptography class files. There are many schemes available under EC which include Elliptic Curve Diffie–Hellman (ECDH) and Elliptic Curve Digital Signature Algorithm (ECDSA)
- sunjce_povider.jar : This is default cryptography implementation of JCE API which is shipped with JRE.
- sunmscapi.jar : Windows comes with MS CryptoAPI which helps developers to make their desktop application secure by using the cryptography API’s. These API’s are in the form of dynamic linked libraries (aka DLL). The sunmscapi.jar helps Java applications to use the MS CryptoAPI in their applications without the need of any other interface.
- zipfs.jar : It is a library to manage zip/jar files using the NIO2 file system API’s. It has been moved to ext/lib since JDK1.7 update 23 The advantage is that you access zip files in the same as you access normal files.