【发布时间】:2011-02-18 04:56:48
【问题描述】:
我已经看到,如果我在 Eclipse 中右键单击一个项目并选择在服务器上运行它,那么我可以看到输出,这意味着该项目正在运行。
如果没有 Maven 一切正常,那么使用它有什么意义。它与简单地通过 eclipse 运行有什么不同?
【问题讨论】:
我已经看到,如果我在 Eclipse 中右键单击一个项目并选择在服务器上运行它,那么我可以看到输出,这意味着该项目正在运行。
如果没有 Maven 一切正常,那么使用它有什么意义。它与简单地通过 eclipse 运行有什么不同?
【问题讨论】:
Maven 是一个构建工具(实际上是构建管理器),类似于 ANT。任何构建工具的主要工作是配置项目,使用所需项目进行编译并进行最终打包。项目中的构建脚本给出了项目可交付结构的蓝图。这使您摆脱了对特定 IDE(如 Eclipse)的任何可配置依赖项。您只需要知道执行构建的标准命令,您几乎可以在任何地方构建代码。
现在,回到你的问题,为什么不在 Eclipse 中做呢?
对于一个简单的项目和小团队来说,Maven 是一种矫枉过正。您可以轻松地传达配置、要使用的 IDE,并指示要采取的任何特殊步骤。然而,在大型项目中,存在许多松散耦合的依赖关系。首先,开发人员机器构建、测试构建和生产构建将有不同的设置。需要运行自动化测试、集成测试、将构建包(工件)存储到可访问的存储库、更新各种模块的版本。
显然,如果上述所有步骤都是手动完成的,则可能会丢失一个步骤。此外,手动过程非常耗时。
理想情况下,您应该选择最适合您的工具。如果您认为没有 Maven 就可以实现您的要求,那么不要仅仅因为每个人都使用 Maven/build-tool 就使用它是有意义的。
建议研究自动化部署,这将使您更全面地了解您可以使用构建工具做什么。如果您觉得它不会为您当前的流程增加任何价值,那么您现在可能不需要 Maven 或任何其他构建工具。
【讨论】:
你的问题没有多大意义。您希望您的用户从 Eclipse 访问您的应用程序吗?如果是这样,我认为这是一个非常奇怪的设置。
也许您的问题应该是关于如何构建您的项目。 Maven 为您提供了一种在整个企业中集中依赖库的方法。它使您可以自动化构建过程(很可能与 hudson、巡航控制等 CI 服务器结合使用)。它可以让你自动化你的单元测试。 Maven 使应用程序的打包变得非常容易。开发人员不必遵循一组晦涩难懂的步骤来打包应用程序。您添加正确的插件,maven 会在构建生命周期中处理它。由于约定优于配置的原则,所有这些魔法都可以发生。还有很多好处,我只是列举了一些。
Maven 不会取代您运行应用程序的方式,而是取代您打包应用程序、自动化该过程以及管理应用程序依赖项的方式。
关于为什么有人应该使用 maven 的一些链接:-
【讨论】: