实际项目中后期,可能会对项目重构,包括合并一些功能重复的类,修改不规范命名等。但是通常一个类会被多个地方引用,修改起来会比较麻烦,对于SVN中已上传的类,直接 rename会提示错误。据说可以通过某些 svn 管理工具可以实现。本人暂时还没去尝试,这里只介绍我刚刚尝试到的一种方法。
假设要修改的类名为 AbbC.java, 需要更改为 AAbC.java(即修改为大写字符),操作如下:
首先要转到 java 视图(某些用插件方式自定义的视图下,此功能会出问题)。类名上右键找到 "Refactor" --"Rename",修改类名,点击 "next",可以看到 eclipse 提示哪些关联的类,点击 "Finish"。此时 IDE会更新关联的类,然后试图修改类名,但是实际修改了相关联的类之后,IDE会报错,关键的地方来了,不要点错误提示框的 "Undo",请选择"Abort", 此时 AbbC.java 没有变化,但是相关联的类都改变了。并且提示这些关联的类都找不到 AAbC,java.
第二步,在同一个包下新建一个ABC.java,将AbbC.java内代码全部赋值到 ABC.java,删除 AbbC.java 类,然后将 ABC.java 修改为 AAbC.java。记得将代码里的类名也修改为 AAbC。
第三步,整包提交,SVN上就新建了你想要的类名,而原来那个将被成功删除。