【问题标题】:How to share source folders across projects in Eclipse?如何在 Eclipse 中跨项目共享源文件夹?
【发布时间】: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 我尝试这样做的原因是我提到的两个项目实际上是同一个项目的两个不同版本。一些包应该保持不变,而另一些包必须重组,而旧版本应该在我处理新版本时保持活动(可维护)。我打算为重写的包创建一个新文件夹,并将其他包留在原来的位置。
  • 这看起来像是一个典型的重构任务。对于这些,这是一种很好的方法来识别和分离您不打算更改的部分。这通常会进入一个单独的项目。其余部分通常是分支的,原始分支包含旧实现,而您对单独的实现进行重构。

标签: java eclipse


【解决方案1】:

我发现可接受的解决方案是将一个项目链接到另一个作为链接源文件夹(项目属性 -> Java 构建路径 -> 源选项卡 -> 链接源)。链接文件夹位置应该是链接项目的源根目录(...\project1\src\...\project1\,取决于链接项目设置),其中 'com'、'org' 等存在;文件夹名称可以是您喜欢的任何名称。
在我的情况下,我需要部分重现旧(链接)项目的包结构,并将一些旧包替换为具有相同名称的新包(位于当前项目中)。为此,应选择选项Update exclusion filters in other source folders to solve nesting。在这个阶段不需要配置过滤器(现在也不太方便 - 你需要手动编写它们的文本),所以在添加链接源之后你可以按OK
如果您需要排除链接源集的某些包(在我的情况下需要),您应该配置Inclusion / Exclusion filters




现在,您可以使用链接源文件夹树的图形视图(使用 Add Multiple 按钮)指向当前项目中需要的链接源的文件夹和文件,以及应排除的文件夹和文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-08
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 2014-10-16
    相关资源
    最近更新 更多