告别繁琐操作!Maven常用命令一网打尽,让你的项目开发事半功倍!

YunDuanCode · · 884 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Maven作为一款强大的项目管理工具,已经成为了Java开发者的必备技能。那么,如何才能更好地利用Maven来管理我们的项目呢?本文将为你介绍Maven的常用命令,让你的项目构建更轻松! ## 一、maven 的概念模型 Maven 包含了一个项目对象模型 ,一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 ![image.png](https://static.golangjob.cn/231216/2df7096d761d101ecc0f27e0f0c7beb7.png) #### 项目对象模型 (Project Object Model) 一个 maven 工程都有一个 pom.xml 文件,通过 pom.xml 文件定义项目的坐标、项目依赖、项目信息、插件目标等。 #### 依赖管理系统(Dependency Management System) 通过 maven 的依赖管理对项目所依赖的 jar 包进行统一管理。 比如:项目依赖 junit4.9,通过在 pom.xml 中定义 junit4.9 的依赖即使用 junit4.9,如下所示是 junit4.9的依赖定义: ``` <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <dependencies> ``` #### 一个项目生命周期(Project Lifecycle) 使用 maven 完成项目的构建,项目构建包括:清理、编译、测试、部署等过程,maven 将这些过程规范为一个生命周期,如下所示是生命周期的各个阶段: ![image.png](https://static.golangjob.cn/231216/66f3be7a719b002c2a6b112537ca7a60.png) maven 通过执行一些简单命令即可实现上边生命周期的各个过程,比如执行 mvn compile 执行编译、执行 mvn clean 执行清理。 #### 一组标准集合 maven将整个项目管理过程定义一组标准,比如:通过 maven 构建工程有标准的目录结构,有标准的生命周期阶段、依赖管理有标准的坐标定义等。 #### 插件(plugin)目标(goal) maven 管理项目生命周期过程都是基于插件完成的。 ## 二、Maven的常用命令 我们可以在cmd 中通过maven命令来对我们的maven工程进行编译、测试、运行、打包、安装、部署。下面将简单介绍一些我们日常开发中经常会用到的一些maven 命令。 ![image.png](https://static.golangjob.cn/231216/008ecf0a0c5e5b2ab81a62cf9e120f79.png) #### 1、mvn compile 编译命令 compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target目录下。 cmd 进入命令状态,执行mvn compile,如下图提示成功: ![image.png](https://static.golangjob.cn/231216/84be986251b7661a9d971a68d15001b0.png) 查看 target 目录,class 文件已生成,编译完成。 ![image.png](https://static.golangjob.cn/231216/f68c82f840fc90d335e2c57dafd8c9c1.png) #### 2、mvn test 测试命令 test 是 maven 工程的测试命令 mvn test,会执行src/test/java下的单元测试类。 cmd 执行 mvn test 执行 src/test/java 下单元测试类,下图为测试结果,运行 1 个测试用例,全部成功。 ![image.png](https://static.golangjob.cn/231216/dc7a2c9be2ad31240a6760184540891c.png) #### 3 、mvn clean 清理命令 clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容。 #### 4、mvn package打包命令 package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于web 工程打成war包。 只打包不测试(跳过测试): ``` mvn install -Dmaven.test.skip=true ``` #### 5、 mvn install安装命令 install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。 从运行结果中,可以看出:当后面的命令执行时,前面的操作过程也都会自动执行。 #### 6、 mvn deploy 部署命令 这个命令用于将项目部署到远程仓库,以便其他项目可以引用。在执行这个命令之前,需要先执行mvn install命令。 #### 7、mvn help:system 这个命令用于查看系统中可用的Maven版本。 #### 8、mvn -v 这个命令用于查看当前环境中Maven的版本信息。 #### 9、源码打包 ``` #源码打包 mvn source:jar 或 mvn source:jar-no-fork ``` #### 10、Maven 指令的生命周期 关于Maven的三套生命周期,前面我们已经详细的讲过了,这里再简单地回顾一下。 maven 对项目构建过程分为三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”。 ![image.png](https://static.golangjob.cn/231208/6e33dec9b6497b662a5cf8893dffea4a.png) 这三套生命周期分别是: - Clean Lifecycle 在进行真正的构建之前进行一些清理工作。 - Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。 - Site Lifecycle 生成项目报告,站点,发布站点。 >在这里给大家分享一下【云端源想】学习平台,无论你是初学者还是有经验的开发者,这里都有你需要的一切。包含课程视频、在线书籍、在线编程、一对一咨询等等,现在功能全部是免费的,[点击这里,立即开始你的学习之旅!](https://ydcode.cn/memberIndex?sourceId=486) ## 三、Maven常用技巧 #### 1、使用镜像仓库加速构建 由于Maven默认从中央仓库下载依赖,速度较慢。我们可以配置镜像仓库来加速构建。在settings.xml文件中添加以下内容: ``` <mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror> </mirrors> ``` #### 2、使用插件自定义构建过程 Maven提供了丰富的插件来帮助我们完成各种任务,如代码检查、静态代码分析、单元测试等。我们可以在pom.xml文件中添加相应的插件来自定义构建过程。例如,添加SonarQube插件进行代码质量检查: ``` <build> <plugins> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.9.1.2184</version> </plugin> </plugins> </build> ``` ## 四、第一个Maven程序 #### IDEA创建 Maven项目 打开我们的IDEA,选择 Create New Project ![image.png](https://static.golangjob.cn/231216/7dcbcefca27dcf18cd42075c040beff8.png) 然后,选择 Maven 项目 ![image.png](https://static.golangjob.cn/231216/039e192a8efc01002436a701c44216e6.png) 填写项目信息,然后点击next ![image.png](https://static.golangjob.cn/231216/afe7322b653f3010c2dd4d1637e7a944.png) 选择工作空间,然后第一个Maven程序就创建完成了 ![image.png](https://static.golangjob.cn/231216/cc54a7d83d1bb6fe33a84d68867ab02b.png) 以上就是IDEA创建创建第一个 Maven项目的步骤啦,都看到这里了,不要偷懒记得打开电脑和我一起试一试哦。 #### 目录结构 Java Web 的 Maven 基本结构如下: ``` ├─src │ ├─main │ │ ├─java │ │ ├─resources │ │ └─webapp │ │ └─WEB-INF │ └─test │ └─java ``` 结构说明: - src:源码目录 - src/main/java:Java 源码目录 - src/main/resources:资源文件目录 - src/main/webapp:Web 相关目录 - src/test:单元测试 小结: 通过掌握Maven的常用命令和技巧,我们可以更高效地管理Java项目,提高开发效率。希望这篇文章能帮助大家更好地使用Maven。

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

884 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传