hi,I am green head for javassist
I read the tutorial,but my pool.insertClassPath(String) not work
why?
package test;
import javassist.ClassClassPath;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtField;
/*
* Created on 2005-6-2
*/
/**
* @author Niko
*/
public class Test {
public Test(){
}
public static void main(String[] args)throws Exception {
ClassPool pool = ClassPool.getDefault();
System.out.println(Test.class.getResource("").getPath());
//pool.insertClassPath(Test.class.getResource("").getPath());
pool.insertClassPath("D:/Eclipse/workspace/test/bin/test/");
CtClass cc = pool.makeClass("Rectangle");
cc.addField(new CtField(CtClass.intType, "userOld", cc));
cc.writeFile();
}
}D:\ECLIPSE\WORKSPACE\TEST ? .classpath ? .project ? Rectangle.class ? ??bin ? ??test ? Test.class ? ??src ??test Test.java
insertClassPath() only gives a search path for *finding*
a class. It is not used to write a modified class file.
Please use CtClass#writeFile(String directory).