如何在我的Java项目中使用Maven,为什么?

2022-09-02 10:04:26

我试图弄清楚Maven的使用,我得到了许多描述其功能和用途的文章。但我只是无法从生产力的角度理解Maven的实际用途。

从我在学校项目中习惯的就是在Eclipse中创建一个新的Java项目,编写代码,创建一个.war(如果基于Web),然后将代码粘贴到Tomcat的webapps文件夹中并启动服务器!

所以

  1. Maven从何而来?我使用过蚂蚁,我理解蚂蚁在标准化构建过程中的好处。但是,为什么我们需要一个以Maven形式存在的高级蚂蚁呢?

  2. 无论如何,我需要使用它,那么我从哪里开始 - 基本流程,一些好的教程?

谢谢


答案 1

Maven 用于管理构建、测试和部署过程。它可以将单元测试和集成测试分开,因此您只在必要时运行它们并缩短构建时间。

它也是一个依赖关系管理器,这意味着当您意识到项目的服务器部分但客户端与过去的任何内容冲突时,您只需向相应的文件添加几行,Maven就会处理所有这些(下载,安装和跟踪这些依赖项的不同版本)。apache commons-logging 1.0.40.7.9pom.xml

在我目前的任务之前,我不是一个信徒,但是在将其用于大型企业应用程序2年后,我绝对尊重Maven带来的东西。有很多在线资源,但如果你要成为这方面的领导者,并且真的感到不舒服,我建议你买一本书 - O'Reilly的书很有帮助。


忘了提一下,有一个Eclipse插件,可以毫不费力地与Eclipse一起使用:m2Eclipse


第二次更新示例片段以回答 OP 问题:pom.xml

您的将包含 XML 代码,例如:pom.xml

<dependencies>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.0.4</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

这些是从中央Maven存储库(谷歌“maven nexus”)下载的,或者您可以配置自己的其他存储库(例如您自己的项目,或者如果您没有连接Internet)。


答案 2

我和你有完全相同的看法,多年来我一直避开Maven。

问题是,它允许您轻松获得应用程序可能需要的所需jar(称为依赖项 - jar和其他东西 - )。因此,下次其他人运行您的项目时,他将自动获得jar。

我知道这有点难以掌握,直到你使用它来处理现有项目。

例如,我最近下载了一个开源项目,它依赖于10或12个不同的jar版本。在下载源代码并执行Maven之后,所有这些jars(以及更多的其他jar)都被下载给我了。

Maven的问题在于(正如我的一个朋友告诉我的那样),为了执行“Hello world”程序,它首先下载世界来迎接他。:P


推荐