I am getting  java.lang.NoSuchMethodException when running the following code. 
Any ideas how can I create a new class, add a method and invoke it?
    

   String aMethod="printSomething";
        String src="public static void "+aMethod+"()" +
                "{" +
                "System.out.println(\"Kia Hoa\");" +
                "}";
        System.out.println(src);
        String className="mytest.MyTest";

        // we assume that called methods have no argument
        Class<?> params[] = {};
        Object paramsObj[] = {};
        try
        {
                ClassPool pool = ClassPool.getDefault();
                CtClass cc = pool.makeClass(className);         
                CtNewMethod.make(src,cc);
                cc.stopPruning(true);
                //cc.freeze();
        Loader cl = new Loader(pool);
        
//        Class<?> thisClass = Class.forName(className);
        Class thisClass = cl.loadClass(className);
        // get the method
        Method thisMethod = thisClass.getDeclaredMethod(aMethod);
        // call the method
        System.out.println
           (thisMethod.invoke(thisClass, paramsObj).toString());
        
        
        }
        catch(Exception e)
        {
                e.printStackTrace();
        }
        

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4092846#4092846

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4092846
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to