如何正确使用javassist操作源代码?
我基本上想写一个注入框架。我想标记和设置每一个可以注入东西的字段(静态以便访问) 我目前面临的问题是java抛出了不兼容的ClassChangeError。 大多数人都这么告诉我 我只是重新编译(反编译并编译)代码 但对我来说,这听起来像是一个懒惰的解决方案,对我来说是不可行的。关于这个现象的Eclipse文档声明我的行为是不合法的,但我不理解为什么,因为重新编译正在修复这个错误。那么javassist有更好的解决方案吗如何正确使用javassist操作源代码?,java,code-injection,bytecode,javassist,Java,Code Injection,Bytecode,Javassist,我基本上想写一个注入框架。我想标记和设置每一个可以注入东西的字段(静态以便访问) 我目前面临的问题是java抛出了不兼容的ClassChangeError。 大多数人都这么告诉我 我只是重新编译(反编译并编译)代码 但对我来说,这听起来像是一个懒惰的解决方案,对我来说是不可行的。关于这个现象的Eclipse文档声明我的行为是不合法的,但我不理解为什么,因为重新编译正在修复这个错误。那么javassist有更好的解决方案吗 java.lang.IncompatibleClassChangeErro
java.lang.IncompatibleClassChangeError: Expected non-static field de.red.core.module.test.TestModule.injectionTest
重新编译修复了该错误,因为重新编译意味着为对字段的所有访问生成更新的代码。要在不重新编译的情况下执行同样的操作,必须手动更新访问该字段的每个代码。
java.lang.IncompatibleClassChangeError: Expected non-static field de.red.core.module.test.TestModule.injectionTest