【发布时间】:2015-12-02 17:47:57
【问题描述】:
已经有人问了几个类似的问题,但我还没有找到一个非常令人满意且有效的解决方案。在本地文件系统中,我有两个结构相似的 Eclipse 项目,我希望在它们之间共享一些包。
并且:
- 由于显而易见的原因,我不想拥有多个源文件副本;
- 我不太喜欢将一个项目添加到另一个项目的构建路径的想法,因为它需要让它们一直保持打开状态,并且可能导致另一个项目的混乱和无意的变化之后很难找到和修复;
- 我不想把通用包放到第三个项目中,我希望这些项目是完全独立的;
- 尝试将文件夹与来自一个项目的源文件作为虚拟文件夹链接到另一个项目导致无法为它们分配正确的包名称(此类文件夹不形成包,编译器声称 The declared package "com.example.package" does not match the expected package "")
管理任务的正确方法是什么?
【问题讨论】:
-
管理此任务的正确方法是:“将常用包分离到第三个项目中”。严重地。我无法想象你正在尝试做的任何充分理由。你没有找到任何方法来支持我的论点。人们不这样做,因为这不是一个好主意。
-
您有几个不错的选择可以在 Eclipse 中“共享”源代码、包和/或整个项目。例如:Eclipse - Linked package?
-
@Gergely Bacso - 是的,你是对的。在考虑了情况的各个方面后,我最终遵循了您的建议,尽管我找到了一种方法来链接来自另一个项目的源代码。
-
@Gergely Bacso 我尝试这样做的原因是我提到的两个项目实际上是同一个项目的两个不同版本。一些包应该保持不变,而另一些包必须重组,而旧版本应该在我处理新版本时保持活动(可维护)。我打算为重写的包创建一个新文件夹,并将其他包留在原来的位置。
-
这看起来像是一个典型的重构任务。对于这些,这是一种很好的方法来识别和分离您不打算更改的部分。这通常会进入一个单独的项目。其余部分通常是分支的,原始分支包含旧实现,而您对单独的实现进行重构。