Question

How do I add a jar file to the search path for javassist and have it work correctly? I am trying to modify a jar file without unjaring then rejaring.

import javassist.*;

class Injector
{

  public static void main(String[] argv) throws Exception
  {
    // Load the class representation
    ClassPool pool = ClassPool.getDefault();
    pool.insertClassPath( "myjarfile.jar" ); 
    CtClass cc = pool.get("org.mine.Myclass"); ////////// Not reading Myclass from myjarfile.jar


    // Find the method we want to patch and rename it 
    // (we will be creating a new method with the original name).
    CtMethod m_old = cc.getDeclaredMethod("methodToRename");
    // m_old.setName( "methodToRename" );

    cc.removeMethod( m_old );


  }
}
Was it helpful?

Solution

Solved it simply:

pool.insertClassPath( "/Path/from/root/myjarfile.jar" );
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top