移动包eclipse

移动包eclipse,eclipse,Eclipse,也许这是一个愚蠢的问题,但我在eclipse中有两个包,现在我想将一个包移到另一个包中以获得更好的结构 现在我尝试移动,但这会在同一个包中生成一个副本 通过重构->移动,我甚至不能选择包 有人能帮我吗 thx all如果您有com.company.foo和com.company.bar,并且希望将foo移动到bar中,那么只需将com.company.foo重命名为com.company.bar.foo即可 如果您的软件包碰巧有子软件包,请勾选“重命名子软件包”以移动子软件包。使用软件包浏览器视

也许这是一个愚蠢的问题,但我在eclipse中有两个包,现在我想将一个包移到另一个包中以获得更好的结构

现在我尝试移动,但这会在同一个包中生成一个副本

通过重构->移动,我甚至不能选择包

有人能帮我吗

thx all

如果您有com.company.foo和com.company.bar,并且希望将foo移动到bar中,那么只需将com.company.foo重命名为com.company.bar.foo即可


如果您的软件包碰巧有子软件包,请勾选“重命名子软件包”以移动子软件包。

使用软件包浏览器视图并重命名软件包。它要求重命名更新引用、重命名子包、更新注释和非Java文本文件中的文本引用。单击预览,然后单击“确定”。

我已经找到了解决方案,当您将包重命名为所需的目的地时,请选中“重命名子包”框,然后开始!:-用户1525788 7月10日9:14这是很旧的,但请尝试以层次模式打开。在project explorer中,单击指向下方的小箭头>软件包演示>层次结构。

这有点不直观,但最好的方法是右键单击要移动的软件包,单击重构,然后单击重命名

然后继续进入所需的完全限定路径

例如,如果您希望将一个名为dog的包移动到一个名为哺乳动物的包中,而哺乳动物本身就在一个名为animals的包中,那么您基本上会将您的dog包重命名为animals.multimals.dog

换句话说,包结构

在Java包的世界中表示为animals.哺乳类.dog,重命名可以达到预期的效果


请注意,您不能试图通过在Windows资源管理器中手动移动文件夹来实现此目的。这些操作最好使用IDE完成。

如果您有当前软件包:

苍蝇 并希望向其添加子包,然后重命名将解决此问题,例如

com.fest.fly.mosquitto 但是,eclipse不应该以嵌套的方式保存它。照办 软件包资源管理器>单击窗格旁边的v按钮,以最小化>软件包演示>层次结构


希望能解决

不幸的是,这不会移动foo中的子包。所以如果你有了foo.a,把foo.a搬到酒吧,foo.a仍然留在原来的地方。用它工作了一段时间,我得到了一些可以忍受的东西。。。做了一些重构,它仍然在工作,所以我对它很好。我没有任何子包,所以我可以把它作为一个解决方案。但是如果有完整的答案,我还是不知道。对于子包,你必须选中重构对话框中的重命名子包框。你必须记住-1重命名而不是移动,2重新命名子包3禁止拖放:DWorks。这应该是现在的答案。我要补充的是,最好使用Ctrl + Shift +R重构PACKAGE,而不仅仅是按F2重命名,因为一些可能会从您的答案中收集到,这不回答这个问题,并且不改变OP.answer所描述的包复制行为与问题无关。在同一棵树中,将节点从一个位置拖放到另一个位置时,可接受的预期行为是移动重命名。eclipsepackageexplorer中的行为是非常不寻常和令人困惑的。要么是eclipse团队无法实现拖放移动重命名的技能,要么是顽固地强制执行异常行为以建立一个明显是eclipse的规范。