我正在开发一个Eclipse插件,我想在其中覆盖Eclipse库中类所包含的方法的功能。
我到目前为止尝试的是在我的插件源中创建相同的(相同的包和文件名)文件,并在那里进行我想要的更改。然后,我设置构建路径顺序,使我的源位于插件依赖项之上。基于我有限的理解,这应该意味着当Java查找该类时,它应该使用我的库而不是库中的那个。
但是,这不起作用。我想要覆盖的行为没有改变,我也没有看到我在代码中添加的打印语句。
我怎样才能"替换" Eclipse库中的一个类,我自己的一个?
答案 0 :(得分:0)
我通过以下方式做过一次(不以此为荣:-)):
我承认它很难看,但这是我发现的最佳方式。
答案 1 :(得分:0)
我最终使用JVM JavaAgent来实现这一点,通过覆盖类加载器并在我自己的类中加载来替换库中的那个。
这对我来说是一个很有用的教程:https://stackoverflow.com/a/11898653/634324