Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>if the case, your class is a Mysql Driver you have to exclude (at the time the class is calling) classes that are not available. In the Folder of your .jar file there is one with the name "integration" it contains "jboss" and "c3p0" which are not present at this time.</p> <pre><code>while (en.hasMoreElements()) { JarEntry entry = new JarEntry(en.nextElement()); String name = entry.getName(); if (name.contains("/integration/")) { continue; } else { if (!entry.isDirectory() &amp;&amp; name.toLowerCase().endsWith(".class")) { classList.add(name.replace(".class", "")); } } } </code></pre> <p>This should load a mysql.xxx.jar file. Try This</p> <hr> <p><strong>dynamicload.java</strong></p> <hr> <pre><code>package dynamicloading; import java.io.File; import java.net.URL; import java.net.URLClassLoader; import java.sql.Connection; import java.sql.Statement; import java.sql.Driver; import java.sql.DriverManager; import java.sql.DriverPropertyInfo; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Enumeration; import java.util.Properties; import java.util.jar.JarEntry; import java.util.jar.JarFile; /** * * @author Administrator */ class com_mysql_jdbc_Driver implements Driver { private Driver driver; com_mysql_jdbc_Driver(Driver cmjd) { this.driver = cmjd; } @Override public boolean acceptsURL(String aurlS) throws SQLException { return this.driver.acceptsURL(aurlS); } @Override public Connection connect(String aurlS, Properties pP) throws SQLException { return this.driver.connect(aurlS, pP); } @Override public int getMajorVersion() { return this.driver.getMajorVersion(); } @Override public int getMinorVersion() { return this.driver.getMinorVersion(); } @Override public DriverPropertyInfo[] getPropertyInfo(String aurlS, Properties pP) throws SQLException { return this.driver.getPropertyInfo(aurlS, pP); } @Override public boolean jdbcCompliant() { return this.driver.jdbcCompliant(); } } public class DynMain { /** * @param args the command line arguments */ public static void main(String[] args) throws Exception { /* please set to your path*/ File file = new File("U:/mozsamples/mysql-connector-java-5.1.19-bin.jar"); Driver cmjdD; String aktCS; String urlS = "jdbc:mysql://localhost/db"; String userS = "must-be-set"; String passS = "must-be-set"; Connection con; Statement stmt; URLClassLoader clazzLoader = URLClassLoader.newInstance(new URL[]{file.toURI().toURL()}); JarFile jarFile = new JarFile(file); Enumeration&lt;JarEntry&gt; entries = jarFile.entries(); while (entries.hasMoreElements()) { JarEntry element = entries.nextElement(); if (element.getName().endsWith(".class")) { String name = element.getName(); if (name.contains("/integration/")) { System.out.println( "ignored: " + name ); continue; } else { try { aktCS = element.getName().replaceAll(".class", "").replaceAll("/", "."); clazzLoader.loadClass(aktCS); if (name.contains("com/mysql/jdbc/Driver")) { cmjdD = (Driver)Class.forName(aktCS, true, clazzLoader).newInstance(); try { DriverManager.registerDriver(new com_mysql_jdbc_Driver(cmjdD)); System.out.println( "register Class: " + aktCS ); } catch (SQLException e) { e.printStackTrace(); } } } catch (Exception e) { e.printStackTrace(); } } } } try { con = DriverManager.getConnection(urlS,userS,passS); stmt = con.createStatement(); /*ResultSet rs = stmt.executeQuery("select * from idcart where ID=255"); */ stmt.close(); } catch (SQLException esql) { esql.printStackTrace(); } int j=0 ; System.out.println("loaded Driver----------------------------------"); for( Enumeration en = DriverManager.getDrivers() ; en.hasMoreElements() ; j++) System.out.println( en.nextElement().getClass().getName() ); if (j==0) { System.out.println("Driverlist empty"); } System.out.println("-----------------------------------------------"); } } </code></pre> <p><strong>Output:</strong></p> <pre><code>register Class: com.mysql.jdbc.Driver ignored: com/mysql/jdbc/integration/c3p0/MysqlConnectionTester.class ignored: com/mysql/jdbc/integration/jboss/ExtendedMysqlExceptionSorter.class ignored: com/mysql/jdbc/integration/jboss/MysqlValidConnectionChecker.class loaded Driver---------------------------------- sun.jdbc.odbc.JdbcOdbcDriver dynamicloading.com_mysql_jdbc_Driver ----------------------------------------------- </code></pre> <p>OK ???</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload