title: Hadoop distributed cache : using -libjars : How to use external jars in your code
body: <p>Okay I am able to add external jars to my code using ilibjars path.
  Now how to use those external jars in my code. say I have a function defined in that jar which operates on String. How to use it.
  using context.getArchiveClassPaths(), i can get a path to it but i don't know how to instantiate that object.</p>
  
  <p>here is the sample jar class that i am importing</p>
  
  <pre><code>package replace;
  
  public class ReplacingAcronyms {
  
      public static String Replace(String abc){
          String n;
          n="This is trial";
          return n;
  }
  
  }
  
  
  
  
  
  public class wc_runner extends Configured implements Tool {
          @Override
          public int run(String[] args) throws Exception {
          Configuration conf = getConf();
          Job job = new Job(new Configuration());
          job.setJarByClass(wc_runner.class);
  
          job.setOutputKeyClass(Text.class);
          job.setOutputValueClass(IntWritable.class);
  
          job.setMapperClass(wc_mapper.class);
          job.setCombinerClass(wc_reducer.class);
          job.setReducerClass(wc_reducer.class);
  
          job.setInputFormatClass(TextInputFormat.class);
          job.setOutputFormatClass(TextOutputFormat.class);
  
          FileInputFormat.setInputPaths(job,new Path(args[0]));
          FileOutputFormat.setOutputPath(job,new Path(args[1]));
  
          return (job.waitForCompletion(true)?0:1);
  
  
          }        
  
      public static void main(String[] args) throws Exception {
          int exitCode = ToolRunner.run(new wc_runner(), args);
          System.exit(exitCode);
      }
  }
  </code></pre>
  
  <p><strong>commands ran</strong></p>
  
  <pre><code>[training@localhost Desktop]$ export HADOOP_CLASSPATH=file:///home/training/Desktop/replace.jar 
  [training@localhost Desktop]$ hadoop jar try1.jar wc_runner /user/training/MR/custom/trial1 /user/training/MR/custom/out -libjars ./replace.jar
  </code></pre>
  
  <p><strong>error</strong></p>
  
  <pre><code>14/03/08 02:39:40 WARN mapred.JobClient: Use GenericOptionsParser for parsing the    arguments. Applications should implement Tool for the same.
  14/03/08 02:39:41 INFO input.FileInputFormat: Total input paths to process : 1
  14/03/08 02:39:41 WARN snappy.LoadSnappy: Snappy native library is available
  14/03/08 02:39:41 INFO snappy.LoadSnappy: Snappy native library loaded
  14/03/08 02:39:41 INFO mapred.JobClient: Running job: job_201403080114_0021
  14/03/08 02:39:42 INFO mapred.JobClient:  map 0% reduce 0%
  14/03/08 02:39:46 INFO mapred.JobClient: Task Id : attempt_201403080114_0021_m_000000_0, Status : FAILED
  Error: java.lang.ClassNotFoundException: replace.ReplacingAcronyms
  at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:190
  </code></pre>