使用maven和eclipse导出为Jar的构建项目之间的区别

时间:2013-01-18 09:09:13

标签: java eclipse maven github m2eclipse

这听起来像一个愚蠢的问题,但我真的很困惑。 我从未使用过maven,但我知道它用于构建项目。

所以,我有一个问题:当我们可以在Eclipse中构建项目(没有Maven)时,为什么需要使用Maven构建项目。只需将eclipse项目导出为JAR并包含所需的库和所有。

假设,我从github下载任何项目。现在我可以在eclipse中导入该项目并将其导出为JAR并使用它的功能。那么为什么所有人都建议使用MAVEN来构建项目并生成二进制文件并使用它。

3 个答案:

答案 0 :(得分:12)

首先,并非每个人都使用Eclipse(即使在同一个团队中),并且不同的IDE可能会产生稍微不同的工件(JAR文件)。

Maven的一个优点是它不仅构建项目:

  • 它使约定优于配置,并建议项目的“标准”布局
  • 它允许使用特定版本收集项目中所需的所有依赖项(而不是像“lib / log4j.jar”那样,没有指定版本)
  • 它允许制作许多不同的工件:包含已编译代码或源代码的JAR,javadoc,WAR等。
  • 它可以在IDE之外运行,通常在continuous integration服务器
  • 上运行

我建议甚至为小项目使用Maven:)

答案 1 :(得分:6)

因为您很快就会想要使用自动化工具自动构建项目,并且没有Eclipse可以帮助您。

您很快就会需要的东西:

  • 在每次提交到您的存储库时构建您的项目
  • 在持续集成工具UI中的某个位置单击构建项目
  • 您的用户可能不了解或不关心Eclipse,但他们知道如何使用UI来发布构建

答案 2 :(得分:5)

假设一个简单的实时场景

开发环境 - >生产环境(现在离开测试)

在开发环境中,您将拥有所有开发友好的工具,以缩短您的写作工作量,并将更多时间用于处理逻辑。

完成部分后,您将把它检入版本控制。

现在应该转向生产。您将查看从版本控制到生产的最新版本

现在,你也不能在这里吃日食!因为你不打算开发任何东西。在这种情况下,将始终使用一个简单的pom.xml,并使用名为Maven的工具

并非所有时间,开发人员都要准备二进制文件。因此,假设一个不是开发人员的人正在部署你的应用程序。而不是要求他打开eclipse并说导出等等等等,你可以说,运行这个命令/批处理文件。该批处理文件显然将包含maven命令(mvn compile,mvn package)等。

最后 Eclipse是为了缩短开发人员的开发时间,因为你可能会一次又一次地运行maven,因为简单的错字可能会被eclipse缩短。 在生产中,它一次运行批处理文件。您的应用已部署