【发布时间】:2009-01-13 21:46:24
【问题描述】:
我目前正在处理一个项目,该项目包含许多不同的 Eclipse 项目,这些项目相互引用以组成一个大型项目。开发人员是否应该问自己是否应该重新考虑他们的开发项目的结构方式?
注意:我的项目目前包含 25 多个不同的 Eclipse 项目。
【问题讨论】:
我目前正在处理一个项目,该项目包含许多不同的 Eclipse 项目,这些项目相互引用以组成一个大型项目。开发人员是否应该问自己是否应该重新考虑他们的开发项目的结构方式?
注意:我的项目目前包含 25 多个不同的 Eclipse 项目。
【问题讨论】:
我的一般经验法则是,我会为每个可重用组件创建一个新项目。因此,例如,如果我有一些可以打包为 jar 的独立功能,我会创建一个新项目,以便我可以独立构建、打包和分发组件。
此外,如果您不需要频繁更改某些项目,您可以仅在需要时构建它们并在 Eclipse 中将它们“关闭”以节省索引等时间。即使您认为某些组件是不可重用的,只要它在逻辑/问题方面与代码库的其余部分分开,只需将其分开就可以很好地服务。有时,看似特定的代码可能可以在另一个项目或同一项目的未来版本中重用。
【讨论】:
编译后,项目通常会生成一个 jar。因此,如果您的应用程序包含可能可重用的组件,则可以为每个组件使用一个项目。
我非常喜欢使用大量项目,我觉得这“分解”了我无法用包做的大事情,并帮助我定位和导航。
当然,如果您正在开发 Eclipse 插件,那么无论如何,一切都是一个项目。
我唯一要注意的是您的源代码控制以及它处理项目之间文件移动的能力。 Subclipse 一直给我带来麻烦,或者可能是我的 SVN 服务器造成的。
【讨论】:
如果您的项目有那么许多子项目或模块,需要真正组成最终的工件,那么是时候考虑使用 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 都可以使用他/她需要的任何工具轻松使用您的代码库。
【讨论】:
为您不经常工作的项目创建 jar。这应该会大大减少混乱。如果您经常处理所有项目,那么您可以将目标添加到您的构建中,这将为您构建相应的项目,这会将所有内容压缩到一个文件中,然后您可以将其包含在类路径中。
【讨论】:
另一种方法是创建许多不同的工作区。单独工作区的好处是您可以消除拥有大量项目的一些视觉混乱/性能开销。您可以使用目标来打包所有项目并将它们放在存储库中,以便您可以在每个工作区中引用它们。
【讨论】:
在以前的工作中,整个应用程序超过 +170 个项目。虽然很少需要在本地检查所有项目,但即使是我们范围内的 30-40 个项目也使得重新索引等变得非常缓慢。
【讨论】:
是的。每个项目一个项目。如果您使用的是可重用项目,请看在天上将它们变成图书馆。将不可重用的项目分解成包,这就是它们的用途。
【讨论】:
这是一个很难回答的问题,从根本没有一个 Eclipse 项目到每个班级都有一个 Eclipse 项目。
我的底线:
顺便说一句,我从事的项目分为24个eclipse项目。
【讨论】:
见鬼,我们有 100 多个。项目不需要任何费用。
【讨论】: