devxlogo

Loading Classes Directly from .jar Archives

Loading Classes Directly from .jar Archives

Whenever a class is referenced in a Java program, the class is loaded using the class loader from the JVM’s bootstrap or from the application-server. This often becomes a problem when you want to load two different classes with same name and same package declaration. For example, suppose your JVM’s class loader cannot load different versions of the same JDBC driver. Similarly, more than one version of the same JDBC driver (in order to connect to different versions of the same database) cannot be packaged into a single .war file. So how do you get around this problem? The answer lies in making a custom class loader to load classes directly from your .jar archives. See the code snippet below:

import java.net.*;import java.sql.*;...URL url=new URL("jar:file:/c:\myJars\oracle-jdbc7.jar!/");URLClassLoader ucl = URLClassLoader(new URL[] { url });Class.forName("oracle.jdbc.driver.OracleDriver", true, ucl);

This loads the required version of the driver class from the specified .jar file.

This is part of the Bottomline API. For more info visit http://bottomline.sourceforge.net.

See also  How IoT Tech Will Transform Logistics
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist