我在eclipse中编写了一个包(即Java / Android包)。现在我想制作一个与原版有轻微差异的另一个包。我的计划是将每个.java文件复制并粘贴到新包中,并将 import package.somename 更改为新包的名称,然后从那里开发。有更好的方法吗?
答案 0 :(得分:5)
在项目浏览器中选择包,按Ctrl + C然后按Ctrl + V,Eclipse将提示包名冲突警告并要求您输入新的包名。只需输入它,Eclipse就会相应地重新打包所有复制的类。
与问题无关,你的方法中有一种设计气味:)
答案 1 :(得分:1)
在对答案的评论中,你已经给出了你想要这样做的理由:“现在我想建立一个免费的演示版本,删除了一些功能。”
不是将所有代码复制到另一个包,而是采用只有一个代码库并使用构建参数来指定是否构建免费或商业版本的方法。然后,构建中包含的类和配置(例如spring)可能依赖于此参数。
复制代码库现在看起来似乎更容易,但是在维护代码库时会长期复制你的工作,并增加了bug的风险。
答案 2 :(得分:0)
如何扩展您想要更改的类?这样你可以在同一个包中找到两个变种
答案 3 :(得分:0)
根据实际上有多少“轻微变化”,您可能希望将其保留为一个包并处理差异。您可能不想这样做的原因是,通过复制整个包只进行很小的更改并不是很干净。重复代码是一种代码气味,如果在一个软件包中发现错误并且需要在其他代码段中修复,将来会引起令人头疼的问题。
要回答这个问题,Eclipse应该具有复制整个包并将其粘贴回项目的功能。您必须重命名其中一个软件包,以便拥有唯一的软件包名称。