我正在尝试开发一个系统,用户应该能够在实际的java文件中进行修改[添加/删除属性和方法]。虽然API提供了创建新方法/字段的方法,但我们如何删除/销毁不需要的方法/字段。
我想制作一个方法
updatefile(file, newMethods, newAttributes)
file
是要修改的java文件,需要删除其方法和属性。
newMethods
现在是文件的方法
newAttributes
将是文件
newMethods的某些条目也可能==我需要检查的原始方法的一些条目;同样适用于newAttributes。
如何做到这一点?
答案 0 :(得分:1)
您需要一个字节码操作库。请检查以下内容:bcel,cglib,asm,javassist。
虽然我同意JBNizet的要求看起来有点奇怪。已经有强大的IDE可以做到这一点,最终用户通常不应该使用类结构。
答案 1 :(得分:0)
您的想法似乎与JBoss forge项目类似。
我认为删除方法的可能性必须基于Java规范中声明的Java方法签名和方法返回类型。
例如:methodRemove(File file,String returnType,String methodName,String [] methodParametersTypes)将引用适当的方法在文件中只删除一个类的文件。