maven的学习和使用

较为正规的定义:

  • Maven是一个项目管理工具,它包含一个项目对象模型(POM: Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标的逻辑。

Maven能解决什么问题?

  • 导入jar包,数量多,版本冲突。

  • 编译代码,得到字节码文件。(也可以用eclipse或IDEA做这件事)

  • 单元测试

  • 将代码、配置文件、资源打包以便发布到服务器上

Maven安装

image.png
  • 下载,解压到无中文的盘符下

  • 配置环变量

  • 新建MAVEN_HOME目录

  • 将bin文件路径添加到path中


    image.png
  • 注意:maven会以来jdk;mvn命令也会以来JAVA_HOME路径,所以必须要有JAVA_HOME路径才可以。

Maven工程创建,需要jar包时,会现在本地系统上的jar保重寻找并加载;当本地仓库上没有所需要的jar包时。会从中央仓库(放置着几乎所有开源的jar包)加载,在公司里面,公司会有远程仓库(私服),电脑本地盘上没有也会去公司的远程仓库上去下载jar包。

问题?:

  • 本地仓库在哪?

  • 本地仓库多大?

本地仓库有对应的压缩包,如下:里面有好多常用到jar包

image.png
image.png

Maven的标准目录结构:

传统:
  • 核心源码部分--------src

  • 配置文件部分--------conf/resource

  • 测试部分

  • 测试配置文件

Maven:
  • src/main/java 核心源码部分

  • src/main/resource 配置文件部分

  • src/test/java 测试部分

  • src/test/resource 测试配置文件

  • src/main/webapp 页面资源,js,css,图片

Maven中的常用命令:

  • mvn clean 删除target目录。将项目编译好产生的信息删除掉,环境不一样,就需要重新编译。

  • mvn complie 生成target目录。target里面装着字节码文件。

  • mvn test 生成target目录,同时里面包含了test-classes目录,这是测试类字节码文件

  • mvn package 打包项目,将打包后的项目放在target目录下;打包后的文件将war包。

  • mvn install 把打包好的项目war包安装到本地仓库上。

Maven生命周期:

  • 编译 compile

  • 测试 test

  • 打包 package

  • 安装 install

  • 发布 deploy

    如果是本地的项目就只执行上面的命令即可,但是如果项目在其他的电脑上编译打包过了,就需要先执行mvn clean命令来清除之前编译信息。

生命周期:

  • 清除生命周期

  • 默认生命周期(重要)

  • 站点生命周期

  • 依赖管理:

  • 项目对象模型(POM。pom.xml)

  • 项目自身信息

  • 项目运行依赖的jar包信息

  • 项目运行环境信息。如:jdk、tomcat等。

  • 依赖管理模型

  • 公司组织名称

  • 项目名称

  • 版本号

  • 默认生命周期: compile test package install deploy 每一个命令都对应底层的一个插件。

IDEA如何安装Maven插件:

  1. 本地必须有Maven和IDEA

2.
image.png
  1. image.png

IDEA创建maven工程:(推荐不适用骨架)

使用骨架:
  • 很简单,先创建项目

  • 选择maven项目,选用*****quickstart骨架

  • 更具提示配置好相关路径

  • 下一步,下一步,然后finish

  • 注意:初次创建maven项目会比较慢,是因为好多依赖文件需要在网上下载。

  • image.png
不使用骨架创建maven文件:
  • image.png

如何使用再IDEA上用maven来创建web工程

  • 使用webapp骨架即可

    将一个普通包变成web资源包的方法


    image.png
  • 为servlet实例导入依赖jar包:

  • image.png
  • 创建index.jsp. MyServlet.java文件,doGet(),doPost()方法。request.getRequestDispatcher("/index.jsp").forward(request, response);转发给web的jsp组件。

  • image.png
  • cm: tomcat:run----启动项目

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Maven的基本了解 什么是Maven? Maven就是Apache下的一个开源项目。它是用纯java开发的。是一...
    Bcome阅读 3,198评论 0赞 7
  • 第1章 Maven 介绍 什么是 Maven 什么是 Maven Maven 的正确发音是[ˈmevən],而不是...
    强某某阅读 2,613评论 0赞 24
  • |-1-更新内容[6.从仓库解析依赖的机制(重要)] 1Maven仓库作用 仓库用来存储所有项目使用到构件,在ma...
    zlcook阅读 6,579评论 0赞 25
  • Maven使用入门 1. Maven概述 Maven是什么?Maven项目对象模型(POM),可以通过一小段描述信...
    小小韩_小小红阅读 2,875评论 2赞 28
  • 本周虽然大盘横盘震荡,但题材全面活跃,继“独角兽”概念和工业互联网概念双轮驱动后,本周次新及雄安也大幅活跃,做多人...
    教你做趋势阅读 207评论 0赞 0

友情链接更多精彩内容