我想在核心 JDK 5 类的方法上添加一个“insertBefore”。由于某种原因,它不起作用。下面是代码示例:
ClassPool pool = ClassPool.getDefault();
CtClass ctClass = pool.get("com.sun.org.apache.xerces.internal.impl.xs.XSMessageFormatter");
CtMethod ctMethod = ctClass.getDeclaredMethods()[0];
ctMethod.insertBefore("System.out.println(\"WORKED\");");
ctClass.toClass();
com.sun.org.apache.xerces.internal.impl.xs.XSMessageFormatter 与 JDK 捆绑在一起,位于 rt.jar 中。在上面的代码片段之后,我运行了一些强制 XSMessageFormatter 类运行的代码,但我插入的代码从未运行。我只能让它在我自己的课程上工作。此代码作为一个简单的独立应用程序运行。
有任何想法吗?