如果我使用Eclipse,为什么还需要Maven?

时间:2011-02-18 04:56:49

标签: java eclipse maven

我已经看到,如果我右键单击Eclipse中的项目并选择在服务器上运行它,那么我可以看到输出,这意味着项目正在运行。

如果没有Maven一切正常,那么使用它有什么意义呢。它与仅通过eclipse运行它有何不同?

2 个答案:

答案 0 :(得分:15)

Maven是一个构建工具(实际上是构建管理器),类似于ANT。任何构建工具的主要工作是配置项目,使用所需项目进行编译并进行最终打包。项目中的构建脚本提供了项目可交付结构的蓝图。这使您免于像Eclipse这样的特定IDE的任何可配置依赖项。您需要知道的只是执行构建的标准命令,您几乎可以在任何地方构建代码。

现在,回到你的问题,为什么不在Eclipse中做到这一点?

对于一个简单的项目和小团队Maven来说是一种矫枉过正。您可以轻松地传达配置,使用IDE,并指示要采取的任何特殊步骤。但是,在大项目中,会出现许多松散耦合的依赖项。首先,开发人员机器构建,测试构建和生产构建将有不同的设置。需要运行自动化测试,集成测试,将构建包(工件)存储到通常可访问的存储库,更新各种模块的版本。

显然,如果上面提到的所有步骤都是手动完成的,那么就有可能错过一个步骤。此外,手动过程非常耗时。

理想情况下,您应该选择最适合您的工具。如果你认为你能够在没有Maven的情况下实现你所需要的,那么仅仅因为每个人都使用它而不使用Maven / build-tool是有意义的。

建议学习自动部署,这样可以让您更全面地了解使用构建工具可以完成的所有工作。如果您觉得它不会为您当前的流程增加任何价值,那么您现在可能不需要Maven或任何其他构建工具。

答案 1 :(得分:5)

你的问题没有多大意义。您是否希望您的用户从eclipse访问您的应用程序?如果是这样,我认为这是一个非常奇怪的设置。

也许你的问题应该是如何建立你的项目。 Maven为您提供了一种在整个企业中集中依赖库的方法。它可以让您自动化构建过程(最有可能与Hudson,巡航控制等CI服务器结合使用)。它可以让您自动化单元测试。 Maven使应用程序的包装非常容易。开发人员不必遵循神秘的步骤来打包应用程序。您添加了正确的插件,maven将其作为构建生命周期的一部分进行处理。由于约定优于配置的原则,所有这些魔法都可能发生。还有更多好处,我只举几例。

Maven并未取代您运行应用的方式,而是 打包 应用的方式,自动化该流程以及管理应用的依赖关系。

有关为什么有人应该使用maven的一些链接: -