在 oracle weblogic 上使用 javassist

Using javassist on oracle weblogic

我已经对这个主题做了很多研究,但没有太多研究,所以这个板是我唯一的希望。

我在 oracle weblogic 11c 上有一些部署 运行,部署代码中有几处需要更改,但要注意的是我不允许更改我的代码只能使用某种注入最好是javassist。

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

看看here:

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

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

关于您的评论:那么您可能不得不硬着头皮忘记更改一行;相反,您可以按照以下说明操作:

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

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