title: Cannot instantiate class: org.apache.naming.java.javaURLContextFactory
body: <p>I'm working on Junit test file which loads SQL file and loads it into Oracle:</p>
  
  <pre><code>import java.io.BufferedReader;
  import java.io.File;
  import java.io.FileReader;
  import java.sql.Connection;
  import java.sql.SQLException;
  import java.sql.Statement;
  import javax.naming.Context;
  import javax.naming.InitialContext;
  import javax.naming.NamingException;
  import javax.sql.DataSource;
  import oracle.jdbc.pool.OracleConnectionPoolDataSource;
  import org.junit.BeforeClass;
  import org.junit.Test;
  
  public class OracleCreateScheme1
  {
  
      public OracleCreateScheme1()
      {
      }
  
      @BeforeClass
      public static void setUpClass() throws Exception
      {
          // rcarver - setup the jndi context and the datasource
          try
          {
              // Create initial context
              System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
                      "org.apache.naming.java.javaURLContextFactory");
              System.setProperty(Context.URL_PKG_PREFIXES,
                      "org.apache.naming");
              InitialContext ic = new InitialContext();
  
              ic.createSubcontext("java:");
              ic.createSubcontext("java:/comp");
              ic.createSubcontext("java:/comp/env");
              ic.createSubcontext("java:/comp/env/jdbc");
  
              // Construct DataSource
              OracleConnectionPoolDataSource ds = new OracleConnectionPoolDataSource();
              ds.setURL("jdbc:oracle:thin:@192.168.1.104:1521:oracle");
              ds.setUser("admin");
              ds.setPassword("qwerty");
  
              ic.bind("java:/comp/env/jdbc/oracle", ds);
          }
          catch (NamingException ex)
          {
              //Logger.getLogger(MyDAOTest.class.getName()).log(Level.SEVERE, null, ex);
          }
  
      }
  
      @Test
      public void createOracleScheme() throws SQLException, NamingException
      {
  
          Context initContext = new InitialContext();
          Context webContext = (Context) initContext.lookup("java:/comp/env");
  
          DataSource ds = (DataSource) webContext.lookup("jdbc/Oracle");
  
          // Read File ------------------------------------------------------------------
  
          String s = new String();
          StringBuffer sb = new StringBuffer();
  
          try
          {
              FileReader fr = new FileReader(new File("OracleScheme.sql"));
  
              BufferedReader br = new BufferedReader(fr);
  
              while ((s = br.readLine()) != null)
              {
                  sb.append(s);
              }
              br.close();
  
              // here is our splitter ! We use ";" as a delimiter for each request
              // then we are sure to have well formed statements
              String[] inst = sb.toString().split(";");
  
              Connection c = ds.getConnection();
              Statement st = c.createStatement();
  
              for (int i = 0; i &lt; inst.length; i++)
              {
                  // we ensure that there is no spaces before or after the request string
                  // in order to not execute empty statements
                  if (!inst[i].trim().equals(""))
                  {
                      st.executeUpdate(inst[i]);
                      System.out.println("&gt;&gt;" + inst[i]);
                  }
              }
  
          }
          catch (Exception e)
          {
              System.out.println("*** Error : " + e.toString());
              System.out.println("*** ");
              System.out.println("*** Error : ");
              e.printStackTrace();
              System.out.println("################################################");
              System.out.println(sb.toString());
          }
  
      }
  }
  </code></pre>
  
  <p>When I test the file I get this problem:</p>
  
  <p><code>Cannot instantiate class: org.apache.naming.java.javaURLContextFactory</code></p>
  
  <p>Can you tell me how I can solve this problem? And also do you find any problem into this Java code?</p>