有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在oracle weblogic上使用javassist

我在这个问题上做了大量的研究,但没有太多的研究,所以这个板块是我唯一的希望

我在oracle weblogic 11c上运行了一些功能,在部署代码中有一些东西需要更改,但问题是我不能更改代码,我只能使用某种注入,最好是javassist

我可以访问部署代码,我完全知道哪一行需要更改。最好的方法是什么,javassist中是否有语法允许您替换代码中的某一行


共 (1) 个答案

  1. # 1 楼答案

    看看here

    也可以在行号指定的位置插入代码片段(如果类文件中包含行号表)。CtMethod和CtConstructor中的insertAt()接受原始类定义的源文件中的源文本和行号。它编译源文本并在行号处插入编译后的代码

    换句话说:您希望使用的框架似乎支持您的需求;剩下的只是坐下来做实验

    关于你的评论:那么你可能不得不咬紧牙关,忘记改变一行;相反,请按照以下说明操作:

    CtMethod和CtConstructor提供setBody()来替换整个方法体

    含义:框架支持向方法添加内容;或替换整个方法;但不替换方法体的部分