Java Eclipse 项目中的 Maven 自动构建工具是什么?


Maven 是一个强大的开源项目管理工具,由 Apache 集团开发,用于构建和管理任何基于 Java 的项目。此外,该工具还可以简化 Java 开发人员的工作,包括开发报表、检查构建和测试自动化设置。

如上所述,Maven 主要用于构建和管理许多基于 Java 的项目,Java Eclipse 项目是经常想到的集成开发环境 (IDE)。因此,阅读本文后,您将了解有关 Maven 自动构建工具及其在 Java Eclipse 项目中的含义的所有内容。

了解 Maven

Maven 是一个流行的自动构建工具,专注于简化和标准化构建过程,为开发人员提供以下管理方法:

  • 构建 - 使用 Maven,开发人员可以轻松地将任意数量的项目构建成 JAR、WAR 等输出类型,无需任何脚本。

  • 文档和报表 - 可以获取项目信息,例如日志文档、依赖项列表、单元测试报告等。

  • 依赖项 - 开发人员可以使用 Maven 轻松添加项目的 jar 和其他依赖项。换句话说,它在更新 JAR 和其他依赖项的中央存储库时对项目很有帮助。

  • 源代码管理系统 (SCMs)

  • 发布

  • 分发

  • 邮件列表

何时使用 Maven?

在以下情况下,任何人都可以使用 Maven 构建工具:

  • 当项目有很多依赖项时,可以使用 Maven 来轻松处理这些依赖项。

  • 每当依赖项版本频繁更新时,可以使用 Maven 只更新 pom(项目对象模型)文件中的版本 ID 来更新依赖项。

  • 如果有人想要持续构建、集成和测试,可以使用 Maven 来轻松一次性处理它们。

  • 如果有人正在寻找一种简单的方法来从源代码生成文档、编译源代码或将编译后的代码打包到 JAR 文件或 ZIP 文件中,使用 Maven 将非常有用。

Maven 的优缺点

每个工具都有其自身的优点和局限性。以下是 Maven 的优缺点,在 Java Eclipse 项目中使用它之前需要了解。

优点

  • 使用 Maven,您可以通过读取 pom 文件自动轻松添加项目所需的任何依赖项。

  • 您还可以根据您的要求轻松地将项目构建到 jar、war 等。

  • 通过 Maven,可以轻松地在不同的环境中启动项目,无需管理依赖项注入、构建、处理等。

  • 使用 Maven,只需在 pom 文件中编写依赖项代码即可轻松添加新的依赖项。

  • 通过 Maven,可以轻松访问所有所需的信息。

缺点

  • Maven 工具的主要缺点之一是它需要在系统中安装 Maven 以及 IDE 的 Maven 插件才能工作。

  • 如果现有依赖项不包含 Maven 代码,则无法通过 Maven 添加该依赖项。

现在,让我们进一步了解 Maven 工具在 Java Eclipse 项目中的核心概念。

Eclipse 基础知识

Eclipse 是 Java 和 Android 应用程序开发中最流行的 IDE 之一。它提供了一个名为 M2Eclipse 的优秀插件,该插件与 Maven 和 Eclipse 集成。

此外,此插件会自动从远程 Maven 存储库下载所需的依赖项并执行输出。可以通过 Eclipse 的控制台查看 Maven 命令的结果。Maven 依赖项可以与 IDE 一起更新,并且可以在 Eclipse 中建立 Maven 构建。

以下是如何在 Java Eclipse 中创建 Maven 项目:

  • 打开 Eclipse。

  • 选择文件>导入>选项。

  • 选择 Maven 项目选项。单击“下一步”按钮。

  • 选择项目位置,使用 Maven 在该位置创建项目。

  • 单击“完成”按钮。

  • 现在,您可以在 Eclipse 中看到 Maven 项目。


现在,让我们看看消费者银行项目属性。您可以看到 Eclipse 已将 Maven 依赖项添加到 Java 构建路径。

现在,是时候使用 Eclipse 的 Maven 功能来构建此项目了。

  • 右键单击 consumerBanking 项目以打开上下文菜单。

  • 选择“运行方式”选项。

  • 然后选择 Maven package 选项。

Maven 将开始构建项目。您可以在 Eclipse 控制台中看到以下输出:

[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< com.companyname.bank:consumerBanking >----------------
[INFO] Building consumerBanking 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ consumerBanking ---
[INFO] Deleting C:\MVN\consumerBanking\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @
consumerBanking ---

[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory
C:\MVN\consumerBanking\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @
consumerBanking ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e.
build is platform dependent!
[INFO] Compiling 1 source file to C:\MVN\consumerBanking\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @
consumerBanking ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory
C:\MVN\consumerBanking\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @
consumerBanking ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e.
build is platform dependent!
[INFO] Compiling 1 source file to C:\MVN\consumerBanking\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ consumerBanking -
--
[INFO] Surefire report directory: C:\MVN\consumerBanking\target\surefirereports

-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.companyname.bank.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec
Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ consumerBanking ---
[INFO] Building jar: C:\MVN\consumerBanking\target\consumerBanking-1.0-
SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.663 s
[INFO] Finished at: 2021-12-13T17:34:27+05:30
[INFO] ------------------------------------------------------------------------

现在,右键单击 App.java。选择“运行方式”选项。然后选择 Java 应用程序。

您将看到以下结果:

Hello World!

结论

Eclipse 为 Maven 工具提供内置支持。它还可以帮助您轻松地在 Eclipse IDE 中使用 Maven 项目。

希望本文对您有所帮助!

更新于:2022年10月13日

671 次浏览

开启您的职业生涯

通过完成课程获得认证

开始
广告