【问题标题】:difference between building project using maven and eclipse export as Jar [closed]使用 maven 和 eclipse 导出为 Jar 构建项目之间的区别 [关闭]
【发布时间】:2013-01-01 23:10:05
【问题描述】:

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

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

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

【问题讨论】:

  • 一件事是现在所有主要的 IDE 都有很好的 Maven 支持。这意味着您可以为每个给定的工作选择最好的 IDE,而不是只能使用 Eclipse。
  • 在我看来,一些 IDE 对 Maven 的支持比其他的要好得多(Eclipse 仍然落后于 IntelliJ 和 Netbeans)。

标签: java eclipse maven github m2eclipse


【解决方案1】:

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

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

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

即使是小型项目,我也建议使用 Maven :)

【讨论】:

    【解决方案2】:

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

    你很快就会需要的东西:

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

    【讨论】:

      【解决方案3】:

      假设一个简单的实时场景

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

      在开发环境中,您将拥有所有对开发人员友好的工具,以减少您的写作工作量并花更多时间在逻辑上。

      一旦你完成了你的部分,你将把它签入版本控制。

      现在应该可以投入生产了。您将从版本控制中签出最新版本并投入生产

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

      并非所有时候,开发人员都会准备二进制文件。因此,假设某个不是开发人员的人正在部署您的应用程序。与其要求他打开 eclipse 并说 export blah blah blah,不如说,运行这个命令/批处理文件。该批处理文件显然将包含 maven 命令(mvn compile、mvn package)等。

      终于 Eclipse 是为了缩短开发人员的开发时间,因为,由于简单的拼写错误可以被 Eclipse 缩短,你可能会一次又一次地运行 maven。 在生产中,有一次,运行一个批处理文件。您的应用已部署

      【讨论】:

      • 感谢您的快速回复。
      • 你能推荐一个好的教程来学习 Maven 和使用我在 Eclipse 中开发的 Maven 构建项目吗?
      猜你喜欢
      • 2011-06-25
      • 2022-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-01
      相关资源
      最近更新 更多