Maven入门 及使用maven创建Java Web工程案例
maven入门
一、maven简介
maven是一个跨平台的项目管理工具。主要服务于Java平台的项目构建,依赖管理和项目信息管理。是一个强大的构建工具。自动化构建,可从清理、编译、测试、生成报告、打包到部署。只需要输入简单命令即可,不需要一次次的输入命令。
二、安装与环境配置
a.先下载maven
下载地址:https://maven.apache.org/download.cgi 并解压到目录。
b.配置maven环境
- 右击此电脑 -> 打开属性 -> 高级系统设置 -> 环境变量 -> 在系统变量下新建 -> 输入变量名(M2_MAVEN 或 MAVEN_HOME)和变量值(变量值为maven的存放路径) -> 确定
- 将刚刚的路径添加到path变量中
单机path变量 -> 编辑 -> 新建 -> 输入(%M2_MAVEN%\bin) -> 确定
- 测试maven是否配置成功
win+R键 -> 输入cmd -> 输入指令"mvn -version" -> 若显示maven版本信息,则配置成功.
三、修改maven配置文件
- 在 \apache-maven-3.6.2\conf 路径下打开 settings.xml 文件
- 配置本地仓库地址 和 镜像地址
<localRepository>/path/to/local/repo</localRepository>
<!-- 在/path/to/local/repo处输入本地文件夹路径。 -->
……
<mirrors>
<!-- 这里使用的是阿里的远程maven镜像,速度较原来的快 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
……
<!-- 全局配置JDK1.8 -->
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
四、在eclipse中配置maven
左击window -> preferences -> User Settings -> 将其中的Global Settings和User Settings都更换为刚刚修改的xml的路径。如:\apache-maven-3.6.2\conf.xml -> 点击UPdate Settings -> 确认
至此,maven安装配置成功。
五、maven使用,使用maven导包
新建maven项目 -> 将工程中需要使用的第三方包的地址,复制到pom.xml中。如图示
六、maven手动导包
mvn install:install-file -Dfile=[filePath] -DgroupId=[groupId] -DartifactId=[artifactId] -Dversion=[version] -Dpackaging=[packaging]
参数 | 含义 |
---|---|
[filePath] | jar包的存放路径 |
[groupId] | maven依赖中的 <groupId> |
[artifactId] | maven依赖中的 <artifactId> |
[version] | maven依赖中的version jar版本号 |
[packaging] | 规定项目的输出格式,包括jar、war、pom、apk等 |
复制以上命令并修改其中的参数,并在cmd中执行。若succeed即表示成功!
七、maven项目运行方式
- 发布运行 maven install -> 会在target下生成一个war包 -> 将war包放到tomcat即可运行
- 测试运行 Run on Server
注意:maven
八、pom.xml中的dependencies含义
dependencies | 依赖 |
---|---|
dependency | 依赖 |
groupId | 组织id |
artifactId | 项目名称 |
version | 版本 |
scope | 指定依赖包的使用范围 |
注:其中scope的值可以是
- compile:编译范围,默认值。发布时会被打包。
- provided:提供范围,依赖只有在jdk或者一个容器需要提供该依赖包之后才使用。发布时,并不会打包发布)
- runtime:运行时范围,依赖在运行和测试时需要,但编译时不需要。如:jdbc的包之类的。
- test:测试范围,测试时使用。如:junit
- system:系统范围。与provided相似。但必须提供一个本地的jar包路径。
maven构建Java Web工程
- File -> New -> Maven Project -> 选择webapp原型 -> 下一步输入Artifact Id到完成
- 项目创建完成,在Build Path -> configure build path中发现两个文件丢失 -> 先将丢失的文件移除 -> 点击右边的Add Folder 创建
- 发现src - main - webapp 下的index.jsp报错,建议将其删除
- WEB-INF下web.xml版本过低,建议修改
4.1 可以从其他的工程拷贝,但要记得修改项目名 <display-name>
4.2 还需要修改 org.eclipse.wst.common.project.facet.core.xml 文件
步骤 : 选中项目 -> 右键单击 -> Show in -> System Explorer (在系统文件打开) -> 找到你的项目 -> 进入==.settings==文件夹 -> 找到xml文件 -> 将其中的2.3修改为3.1
- 导入相关依赖包
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<!-- 设置为提供范围 -->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
附:菜鸟教程Maven POM详解:https://www.runoob.com/maven/maven-pom.html