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

pra*_*eep 7 java eclipse github m2eclipse maven

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

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

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

Bas*_*sen 12

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

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

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

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


Dan*_* D. 6

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

你很快就会需要的东西:

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


mad*_*nce 5

假设一个简单的实时场景

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

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

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

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

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

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

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