maven 入门

1. Maven的出发点

在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编程语言,我们都要重复相同的开发步骤:编码,测试,打包,发布,文档。实际上这些步骤是完全重复性的工作。那为什么让软件开发人员去重复这些工作?开发人员的主要任务应该是关注商业逻辑并去实现它,而不是把时间浪费在学习如何在不同的环境中去打包,发布,。。。

Maven正是为了将开发人员从这些任务中解脱出来而诞生的。


2. Maven能做什么?

 Maven是由早期为Jakarta Turbine定制的构建工具发展而来的,现在成为了一个独立的软件项目管理工具。Maven能够:

1)理解并管理整个软件开发周期,重用标准的构建过程,比如:编译,测试,打包等。同时Maven还可以通过相应的元数据,重用构建逻辑到一个项目。

2)Maven负责整个项目的构建过程。开发人员只需要描述项目基本信息在一个配置文件中:pom.xml。也就是说,Maven的使用者只需要回答“What”而不是“How”。


3. Maven并不只是一个构建工具,她还可以提供:

1)声明式依赖性管理

2)集中的组件库管理

3)文档的自动生成

4)报告的自动生成

4. Maven设计原则

 1)Convention Over Configuration (约定优于配置)。在现实生活中,有很多常识性的东西,地球人都知道。比如说:如何过马路(红灯停绿灯行),如何开门,关门等。对于这些事情,人们已经有了默认的约定。



在软件开发过程中,道理也是类似的,如果我们事先约定好所有项目的目录结构,标准开发过程(编译,测试,。。。),所有人都遵循这个约定。软件项目的管理就会变得简单很多。在现在流行的很多框架中,都使用了这个概念,比如EJB3和Ruby on Rails。在Maven中默认的目录结构如下:


由上图可以看出以下几个标准的Maven目录:

  • src:源代码目录。所有的源代码都被放在了这个目录下。在这个目录下又包括了:

          1) main:所有的源代码放在这里。对于Java项目,还有一个下级子目录:java. 对于Flex项目则是flex,。。。

          2) test:所有的单元测试类放在这里。

  • target:所有编译过的类文件以及生成的打包文件(.jar, .war, ...)放在这里。

2)Reuse Build Logic (重用构建逻辑):Maven把构建逻辑封装到插件中来达到重用的目的。这样在Maven就有用于编译的插件,单元测试的插件,打包的插件,。。。Maven可以被理解成管理这些插件的框架。
3)Declarative Execution (声明式执行):Maven中所有的插件都是通过在POM中声明来定义的。Maven会理解所有在POM中的声明,并执行相应的插件。

5. 创建一个Maven项目

1) 下载Maven:http://maven.apache.org/

2) 解压缩下载的zip文件到本地目录下,比如:D:\Maven

3) 添加D:\Maven\bin到环境变量PATH中

4) 在命令行下运行:

mvn -version  或者 mvn -v

你应该看到如下图所示的Maven版本号:

5) 运行如下命令创建一个Maven项目:

mvn archetype:create -DgroupId=net.jianxi.tutorials -DartifactId=helloworld -DpackageName=net.jianxi.tutorials

该项目的目录结构如下图所示:

现在就可以运行一些Maven命令了

编译: mvn compile

单元测试: mvn test

构建并打包: mvn package

清理: mvn clean

安装 mvn clean install



### Maven 入门教程 #### 什么是MavenMaven 是一种强大的项目管理工具,主要用于基于 Java 的项目构建、依赖管理和文档生成。通过使用POM(Project Object Model),即项目的对象模型来描述项目并管理其整个生命周期。 #### 下载与安装Maven 为了开始使用 Maven,需先从官方网址获取最新版本的软件包[^2]。对于不同操作系统有对应的二进制分发版可供选择;例如,在Windows环境下可以选择`apache-maven-3.9.5-bin.zip`这样的压缩文件进行下载[^1]。 完成下载之后,应当把该压缩包解压至指定位置作为安装路径,并确保将解压出来的 `bin` 文件夹添加到系统的 PATH 环境变量里去以便可以在任何地方调用命令行工具 mvn.exe 来执行操作[^3]。 验证安装成功的方法是在命令提示符下输入 `mvn -v` ,如果显示出了关于当前使用的 Maven 版本以及相关配置的信息,则说明已经正确设置了环境。 ```shell C:\>mvn -v Apache Maven 3.5.2 (...) ... ``` #### 创建第一个Maven项目 创建一个新的 Maven 工程可以通过 archetype 插件快速实现: ```shell mvn archetype:generate \ -DgroupId=com.example \ -DartifactId=my-app \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DinteractiveMode=false ``` 这段指令会依据给定参数自动生成一个简单的Java应用程序框架,其中包含了必要的目录结构和初始源码文件。 #### 构建项目 进入刚刚建立好的工程根目录,可以利用如下命令来进行编译打包工作: ```shell cd my-app/ mvn clean package ``` 这将会清理旧的目标产物(`clean`),接着按照定义在 pom.xml 中的生命週期阶段依次执行测试(test),最后产出可部署的应用程序包(package)。 #### 使用仓库管理依赖关系 Maven 自动处理外部库之间的相互依存性问题。只需要编辑 POM 文件中的 `<dependencies>` 部分就可以轻松引入所需第三方类库而无需手动下载它们。比如要加入 JUnit 测试框架的支持只需加上几行 XML 即可: ```xml <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency> ``` 这样当再次运行构建过程时,Maven 就会在本地缓存或远程中央存储库里查找匹配项并将之纳入进来供开发人员使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值