Java 如何在未声明时从Eclipse重命名方法/字段
我不是Java和Eclipse的新手,这个问题不像Java 如何在未声明时从Eclipse重命名方法/字段,java,eclipse,Java,Eclipse,我不是Java和Eclipse的新手,这个问题不像Alt+Shift+R或重构重命名 假设在utils.jar中有一个方法 public class A { public void taste() {} } 然后我在当前项目中使用了它 public class taste { public static void taste() { A taste = new A(); return taste.taste(); } } 好的,现在
Alt
+Shift
+R
或重构
重命名
假设在utils.jar
中有一个方法
public class A {
public void taste() {}
}
然后我在当前项目中使用了它
public class taste {
public static void taste() {
A taste = new A();
return taste.taste();
}
}
好的,现在我在utils.jar
中发现taste
不是我想要的词,然后我将utils.jar
更改为test
:
public class A {
public void test() {}
}
那么,在那之后,我如何才能将A.taste()
更改为A.test()
,就像使用Alt
+Shift
+R
public class taste {
public static void taste() {
A taste = new A();
return taste.test(); // only change function A.taste to test
}
}
我发现Search
Java
可以精确地找到A.taste
函数,但我不知道如何将其全部替换为testAlt+Shift+R在这种情况下可能有用
将A
的旧源代码放入项目中。例如,src/some_package/A.java
这将覆盖库中的类utils.jar
使用重构工具重命名该方法
您现在可以这样做,因为A
的源代码可用
从项目中删除A
的源代码
将更新的libutils.jar
添加到项目中
我认为在一个库中重命名一个函数是一个坏主意,你应该将它用作黑盒。如何考虑使用某种别名(基本上围绕它包装一个类)?您可以将鼠标移动到红色下划线方法名,并按<代码>重命名为XXX < /代码>。option@XtremeBaumer不像我想的那么简单:-),我需要替换我项目中的所有引用,上面的示例只是一个简化场景,您需要utils.jar的源代码来完成此操作。Eclipse不会重命名jar中类文件中的方法。使用CTRL+H
文件搜索
然后选择底部的Replace…
,这样你就可以Alt+Shift+R
就像Refactor
重命名
一样,不适合这种情况:-谢谢,似乎这是解决问题的唯一方法。我希望eclipse能够支持更多的重构功能,以重命名不存在的函数/字段,但开发人员可以手动提供签名。如果eclipse支持某种API迁移,这将是一个很好的功能。例如,如果新API中不再存在某个方法,则这是一个comiler错误。但是,如果该类仍然存在,它可能会通过显示包含适用方法的下拉列表来建议快速修复。