Maven基础_讨论帖

-BoBooY-
Java领域新星创作者
2022-10-04 18:06:19

Maven的作用:

  • Maven作为依赖管理工具,能够管理规模庞大jar包。使用Maven后,依赖对应的Jar包能够自动下载、方便、快捷且规范。
  • Maven作为构建管理工具。当我们使用 IDEA 进行开发时,构建是 IDEA 替我们做的。脱离IDEA环境执行构建操作,需要专门工具。

Maven构建的环节

  • 清理:删除上一次构建的结果,为下一次构建做好准备
    编译:Java 源程序编译成 *.class 字节码文件
    测试:运行提前准备好的测试程序
    报告:针对刚才测试的结果生成一个全面的信息
    打包
    Java工程:jar包
    Web工程:war包
    安装:把一个 Maven 工程经过打包操作生成的 jar 包或 war 包存入 Maven 仓库
    部署
    部署 jar 包:把一个 jar 包部署到 Nexus 私服服务器上
    部署 war 包:借助相关 Maven 插件(例如 cargo),将 war 包部署到 Tomcat 服务器上

Maven工程的打包方式

jar:表示这个工程是一个Java工程
war:表示这个工程是一个Web工程
pom:表示这个工程是“管理其他工程”的工程

<packaging>jar</packaging>

Maven核心概念:POM

POM:项目对象模型(类比DOM:文档对象模型),是模型化思想的具体体现。pom.xml 配置文件就是 Maven 工程的核心配置文件。其实学习 Maven 就是学这个文件怎么配置,各个配置有什么用。

Maven约定的目录结构

img

  • 约定目录结构的意义:Maven 为了让构建过程能够尽可能自动化完成,所以必须约定目录结构的作用。例如:Maven 执行编译操作,必须先去 Java 源程序目录读取 Java 源代码,然后执行编译,最后把编译结果存放在 target 目录
  • 约定大于配置:Maven 对于目录结构这个问题,没有采用配置的方式,而是基于约定。这样会让我们在开发过程中非常方便。如果每次创建 Maven 工程后,还需要针对各个目录的位置进行详细的配置,那肯定非常麻烦。

目前开发领域的技术发展趋势就是:约定大于配置,配置大于编码

在Maven工程中编写代码和构建

在子目录中分别编写java程序和测试类程序

进入pom.xml所在的目录,运行Maven的构建命令。构建相关命令必须进入所操作工程的pom.xml目录

清理操作:mvn clean 删除target目录

编译操作:

主程序编译:mvn compile 编译结果存放目录:target/classes
测试程序编译:mvn test-compile 编译结果存放目录:target/test-classes
测试操作:mvn test 测试的报告存放的目录:target/surefire-reports

打包操作:mvn package 打包的结果——jar 包,存放的目录:target

安装操作:mvn install

Maven依赖查询网站

https://mvnrepository.com/

...全文
26 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-Java 发布问题, 以便更快地解决您的疑问

119

社区成员

发帖
与我相关
我的任务
社区管理员
  • community_1541
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧