title: java.lang.reflect.InvocationTargetException Encoder class (org.owasp.esapi.reference.DefaultEncoder) CTOR threw exception
body: <p>I'm a newbie to ESAPIm and I've been looking for answers for days. I got the following error: </p>
  
  <pre><code>Attempting to load ESAPI.properties via file I/O.
  Attempting to load ESAPI.properties as resource file via file I/O.
  Not found in 'org.owasp.esapi.resources' directory or file not readable: C:\Documents and Settings\Administrator\Desktop\TEM - Workspace\testSecurity\ESAPI.properties
  Not found in SystemResource Directory/resourceDirectory: .esapi\ESAPI.properties
  Found in 'user.home' directory: C:\Documents and Settings\Administrator\esapi\ESAPI.properties
  Loaded 'ESAPI.properties' properties file
  Attempting to load validation.properties via file I/O.
  Attempting to load validation.properties as resource file via file I/O.
  Not found in 'org.owasp.esapi.resources' directory or file not readable: C:\Documents and Settings\Administrator\Desktop\TEM - Workspace\testSecurity\validation.properties
  Not found in SystemResource Directory/resourceDirectory: .esapi\validation.properties
  Found in 'user.home' directory: C:\Documents and Settings\Administrator\esapi\validation.properties
  Loaded 'validation.properties' properties file
  java.lang.reflect.InvocationTargetException Encoder class (org.owasp.esapi.reference.DefaultEncoder) CTOR threw exception
  </code></pre>
  
  <p>Hoping to find real answers as soon as possible.
  This is my code for login using ESAPI:</p>
  
  <pre><code>/* throws SQLExceptions */
  public void login(String username, String password)
  {
      try
      {
          if(con == null)
              connect();
          if(con != null)
          {
              Codec ORACLE_CODEC = new OracleCodec();
  
              String query = "SELECT * FROM tblmember where username = '"+ ESAPI.encoder().encodeForSQL(ORACLE_CODEC, username) +"'AND password '"+ESAPI.encoder().encodeForSQL(ORACLE_CODEC, password)+"' FROM ";
  
              stm = con.createStatement();
              rs = stm.executeQuery(query);
  
              if(rs.next())
              {
                  System.out.println(rs.getString("address"));
                  System.out.println(ESAPI.encoder().encodeForSQL(ORACLE_CODEC,"address"));
              }
          }
          else
          {
              System.out.println("Not Connected!");
          }
      }
      catch(Exception ex)
      {
          System.out.println(ex.getMessage() + " login");
      }           
  }
  
  public static void main(String[] args) throws SQLException 
  {
      SQLInjection sq = new SQLInjection();
      sq.login("username", "password");
  }
  </code></pre>
  
  <p>Thank you very much for your response :)</p>