使用jar文件的Javassist
如何将jar文件添加到javassist的搜索路径并使其正常工作?我试图修改一个jar文件而不取消共享,然后重新jar使用jar文件的Javassist,java,javassist,Java,Javassist,如何将jar文件添加到javassist的搜索路径并使其正常工作?我试图修改一个jar文件而不取消共享,然后重新jar import javassist.*; class Injector { public static void main(String[] argv) throws Exception { // Load the class representation ClassPool pool = ClassPool.getDefault(); poo
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 );
}
}
简单地解决了这个问题:
pool.insertClassPath( "/Path/from/root/myjarfile.jar" );
简单地解决了这个问题:
pool.insertClassPath( "/Path/from/root/myjarfile.jar" );