Maven的配置和使用
安装
下载
官方下载 Maven – Download Apache Maven
云盘下载 https://pan.baidu.com/s/1jxRM7Njc0mtCb9e5QnVgGQ 【密码 iszd】
解压
下载完解压到一个文件夹即可,并在该目录下创建一个本地仓库文件夹repository
配置
配置环境变量
我的电脑【右键】属性——高级系统设置——系统变量找到 Path
——添加Maven目录下bin目录的绝对路径
打开cmd
输入 mvn -version
如果出现版本信息代表配置完成
配置Setting文件
-
配置本地仓库文件
在软件的目录下找到
conf
文件夹里的setting.xml
文件,使用记事本编辑查找定位到
localRepository
标签<localRepository>创建的repository的路径</localRepository>
打开
cmd
输入mvn help:system
检测是否配置完成 -
修改
maven
源地址<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror>
使用
在IDEA中使用
-
新建项目
填写项目信息
Artifact Coordinates
是指Mavan gav,即坐标。一个定位一个唯一确定的jar
包,可以访问http://www.mvnrepository.com或者http://search.maven.org/网站查找jar
包的坐标,可以把坐标加入到Pom
管理引用。使用本地的Maven,确定setting和本地仓库的位置
完成配置界面
如果需要对Maven项目进行修改配置,可在IDEA的
Settings
中设置也可以在创建时不选择任何模板,创建一个纯净的maven,下面是目录结构
设置默认Maven
在项目窗口依次打开此操作
File——New Projects Setting——Setting For New Projects
此时会显示Setting
窗口
Bulid,Execution,Deployment——Build Tools——Maven
配置Tomcat
在run=>Edit Configurations
设置基础信息
解决fix报错内容,添加一个artifact即可。下面的Application context可写可不写,是指定路由的
点击+无artifact解决:
打开Project Structure ==> 选择Artifacts ==> Web Application:Exploded
选择自己的项目就好了
回到Edit Configurations,就已经出现了Artifact…选项了
POM文件
pom.xml
是maven
的核心配置文件,注意<dependencies>
这里可以根据远程仓库选择自己的依赖jar包,只要在配置文件加入该包的<dependency>
Maven即可自动导入该jar包也包括这个jar包所依赖的其他jar包。
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
文件内容解读
<?xml version="1.0" encoding="UTF-8"?>
<!--Maven版本和头文件-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--GAV配置(group id,artifact id, version)-->
<groupId>com.zh1z3ven</groupId>
<artifactId>javawebTestDemo</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 项目打包方式
jar: java应用
war: javaweb应用
-->
<packaging>war</packaging>
<!--项目名称(可删)-->
<name>javawebTestDemo Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<!--配置-->
<properties>
<!--项目默认构建编码-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--项目默认编译版本-->
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<!-- 项目依赖-->
<dependencies>
<!-- 具体依赖jar包配置-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 项目构建用的东西-->
<build>
<finalName>javawebTestDemo</finalName>
//解决资源无法导出问题
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
依赖树
Maven导出问题
由于Maven约定大于配置,我们之后可能遇到我们写的配置文件无法导出或生效
解决方法:在build下面加一个resource,配置一个resource节点,防止资源导出失败
因默认在java目录下,根据maven的约束只能写java文件,如果这时该目录存在xml文件则无法导出
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
参考
maven的下载安装配置教程(详细图文) - 砰砰的猿 - 博客园 (cnblogs.com)