【问题标题】:How many multiple "Eclipse Projects" is considered too excessive for one actual development project?对于一个实际的开发项目来说,有多少多个“Eclipse 项目”被认为是过多的?
【发布时间】:2009-01-13 21:46:24
【问题描述】:

我目前正在处理一个项目,该项目包含许多不同的 Eclipse 项目,这些项目相互引用以组成一个大型项目。开发人员是否应该问自己是否应该重新考虑他们的开发项目的结构方式?

注意:我的项目目前包含 25 多个不同的 Eclipse 项目。

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

    我的一般经验法则是,我会为每个可重用组件创建一个新项目。因此,例如,如果我有一些可以打包为 jar 的独立功能,我会创建一个新项目,以便我可以独立构建、打包和分发组件。

    此外,如果您不需要频繁更改某些项目,您可以仅在需要时构建它们并在 Eclipse 中将它们“关闭”以节省索引等时间。即使您认为某些组件是不可重用的,只要它在逻辑/问题方面与代码库的其余部分分开,只需将其分开就可以很好地服务。有时,看似特定的代码可能可以在另一个项目或同一项目的未来版本中重用。

    【讨论】:

    • 其中一些是,但我会说大约 75% 的它们不能单独重复使用。
    • Ryan- 请参阅我在第二段中的回复。
    • @neesh - 我明白了。我应该说它们在逻辑上没有分开。
    【解决方案2】:

    编译后,项目通常会生成一个 jar。因此,如果您的应用程序包含可能可重用的组件,则可以为每个组件使用一个项目。

    我非常喜欢使用大量项目,我觉得这“分解”了我无法用包做的大事情,并帮助我定位和导航。

    当然,如果您正在开发 Eclipse 插件,那么无论如何,一切都是一个项目。

    我唯一要注意的是您的源代码控制以及它处理项目之间文件移动的能力。 Subclipse 一直给我带来麻烦,或者可能是我的 SVN 服务器造成的。

    【讨论】:

      【解决方案3】:

      如果您的项目有那么许多子项目或模块,需要真正组成最终的工件,那么是时候考虑使用 Maven 之类的东西并设置一个多模块项目了。它将 a) 允许您独立处理每个模块而无需担心 ide,并允许通过 mvn eclipse:eclipse 目标在您的 ide(和其他 IDE)中轻松设置。此外,在构建整个顶级项目时,maven 将能够从您描述的依赖项列表中派生出哪些模块需要以什么顺序构建。

      Here's a quick link via google 和 link to the book Maven: The Definitive Guide,这将在第 6 章中更详细地解释事情(一旦你掌握了基础知识)。

      这也将强制您的项目不明确地绑定到 Eclipse。能够独立于 ide 构建意味着任何 Joe Schmoe 都可以使用他/她需要的任何工具轻松使用您的代码库。

      【讨论】:

        【解决方案4】:

        为您不经常工作的项目创建 jar。这应该会大大减少混乱。如果您经常处理所有项目,那么您可以将目标添加到您的构建中,这将为您构建相应的项目,这会将所有内容压缩到一个文件中,然后您可以将其包含在类路径中。

        【讨论】:

          【解决方案5】:

          另一种方法是创建许多不同的工作区。单独工作区的好处是您可以消除拥有大量项目的一些视觉混乱/性能开销。您可以使用目标来打包所有项目并将它们放在存储库中,以便您可以在每个工作区中引用它们。

          【讨论】:

            【解决方案6】:

            在以前的工作中,整个应用程序超过 +170 个项目。虽然很少需要在本地检查所有项目,但即使是我们范围内的 30-40 个项目也使得重新索引等变得非常缓慢。

            【讨论】:

            • 老实说,我不记得是 170 还是 270 项目,所以为了安全起见我犯了错误。但就像我说的,我们不需要在本地签出所有项目。
            • 大声笑,太棒了 :D 为什么这么多项目?有没有超过 20 个班级?
            【解决方案7】:

            是的。每个项目一个项目。如果您使用的是可重用项目,请看在天上将它们变成图书馆。将不可重用的项目分解成包,这就是它们的用途。

            【讨论】:

              【解决方案8】:

              这是一个很难回答的问题,从根本没有一个 Eclipse 项目到每个班级都有一个 Eclipse 项目。

              我的底线:

              1. 您的项目可能太少, 而且永远不会太多(当然使用 自动化,例如mvn eclipse:eclipse)
              2. 使用 -Declipse.useProjectReferences=true/false 使用maven切换工作区时 模式 btw jar 和项目 依赖关系
              3. 使用mvn release插件生成 连续发布(自动 版本增加)
              4. 多个项目为您提供 独立版本控制 非常很重要。例如。一位开发人员可能会开发新版本的 模块,而您仍然依赖 上一个和你在一些 点决定升级到较新的 版本(可能通过在 pom.xml 依赖部分增加其版本)。或者在其他情况下,如果一个 项目包含您降级的错误 恢复到之前的版本。
              5. 多个项目让你思考 关于架构比如果 你只有包。
              6. 多个项目通常使 架构问题更明显 如果你只有一个项目。 任何人都想发表评论 这个?
              7. 你永远不知道你是否计划 演变成 OSGI/SOA/EDA 需要分开。
              8. 即使您 100% 确定您 项目将部署为一个 jar 在单个 jvm 中以旧方式,它 仍然没有伤害(mvn程序集 插件)有多个日食 逻辑独立的项目 代码片段

              顺便说一句,我从事的项目分为24个eclipse项目。

              【讨论】:

                【解决方案9】:

                见鬼,我们有 100 多个。项目不需要任何费用。

                【讨论】:

                  猜你喜欢
                  • 2012-03-14
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2010-10-20
                  • 1970-01-01
                  相关资源
                  最近更新 更多