2022-09-16 第六小组 张宁杰 Maven

Maven

项目构建工具,主流

  • 整个项目架构,source,resource,test,testresource
  • 依赖:导入的jar包
  • apache的官网命名规则:
    项目.apache.org

配置环境变量

  • 和配置JAVA,JDK基本一样
    新建MAVEN_H0ME:maven的安装路径
    编辑PATH:新建一个%MAVEN_HOME%\bin
    通过CMD:mvn -v测试配置是否成功

解压Maven压缩包

conf目录:配置目录,在这个目录下有一个settings.xml,Maven的核心配置文件。

maven会自动给我们下载jar包!
在JavaWEB阶段,所有的jar包都是我们下载好复制粘贴到我们的项目里。我们在使用框架开发的过程中,会导入非常多的jar包,jar包要统一管理,“版本”

这些jar包是怎么下载的,从哪下载的?

  • 通过一个配置文件,找到这些jar包,最终我们往服务器上部署项目的时候,只需要部署我们的源码,和这个配置文件。jar包下载完成后,会储存在我们的仓库中
<localRepository>E:/repository</localRepository>
  • 通过maven下载的依赖都放在这个位置。需要手动创建这个目录,不能使用中文
  • maven可以联网下载依赖,如果不做任何操作,默认会到外网下载依赖,速度和效率极低,所以我们可以做一个镜像(阿里云maven镜像仓库),需要配置阿里云镜像仓库
  • 各大编程工具已经内置了maven,当我们第一次创建maven工程时,会联网自动下载一些Maven本身需要的依赖。

maven项目结构

src
	main---源码
		java---源码.java
		resources---资源文件
	test---测试源码
		java---测试源码.java
		resources---测试资源文件

pom.xml就是我们上面说的那个配置文件,来管理依赖的。

maven生命周期

target目录:存放编译后的java文件
默认(default)真正进行项目编译打包等工作阶段

  1. validate:验证项目是否正确

  2. compile:编译,编译项目的源代码

  3. test:测试,junit这些测试不应该要求代码被打包或部署

  4. package:进行打包。

    • java工程-------.jar

    • javaweb工程----.war

    • pom

  5. verify:验证,对集成测试结果执行检查

  6. install:安装

    • 所有的项目都可以编程jar包(依赖)
  7. deploy:部署,将最终的包赋值到远程存储库,和其他开发人员共享(maven私服)

清理(clean)执行必要的清理工作。删除target文件夹
站点(site)生成项目报告,站点,发布站点(基本不用)

Maven坐标

GroupId:团体组织标识符,它一般情况下以创建这个组织的名称的逆向域名开头。
ArtifactId:项目名。单独项目的唯一标识符。
Version:版本

  1. SNAPSHOT:快照,不稳定版本,临时版本
  2. LASEST:最新版,不意味着是稳定版本
  3. RELEASE:发布版,正式版,稳定版

通过这三个向量来定位Maven仓库中其jar包所在的位置,把对应的jar包引入到工程中。

依赖范围

compile:默认。编译范围,编译,测试,运行都有效。参与打包,安装。
test:测试范围,只有在test范围下才能用,不参与打包,安装。

provided:编译和测试,不参与打包,安装。
runtime:运行,只参与运行。
system:废弃。系统。
import:废弃。引入。

依赖的传递:(常识性问题)

假如demo01中引入了mysql,servlet,fastjson,codec依赖,我把demo01install到了我的本地仓库,或者是maven私服,如果其他成员通过GAV引入了我的demo01,demo01中的mysql,servlet,fastjson,codec会一起引入进来

创建一个 带有MAVEN骨架的web工程

打包方式为war的时候,创建webapp目录的图标带有小圆点

properties标签:定义一些变量

<properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <javax.servlet-api.version>4.0.1</javax.servlet-api.version>
</properties>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>${javax.servlet-api.version}</version>
            <scope>provided</scope>
        </dependency>

如果创建的是一个没带maven骨架的web工程,如何配置项目?

1.找到project structure中的Facets,添加web.xml(注意路径问题!!!)

2.配置tomcat,在edit configurations中添加tomcat

posted @ 2022-09-16 22:03  贵妃就是贵妃  阅读(28)  评论(0编辑  收藏  举报