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).