Maven
一. maven的环境配置
在本地系统变量中添加:MAVEN_HOME,值为:本地maven安装路径。如:D:\maven\apache-maven-3.5.2
在系统变量path中添加 %MAVEN_HOME%\bin
验证是否安装成功
在cmd中输入:mvn -v
二. 修改本地仓库的位置
在maven目录中找到conf中的settings.xml文件,用notepad++打开
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${ user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> --> <localRepository>D:\maven\maven_repository</localRepository> <!-- 加上最后一行代码,即指定本地仓库的位置为:D:\maven\maven_repository -->
三. 仓库的种类和彼此的关系
仓库种类一共有三种:本地仓库、远程仓库(私服)、中央仓库
彼此的关系:一个maven工程,先从本地仓库找到需要的额jar包,如果本地仓库没有,则向远程仓库(私服)中找,如果远程仓库(私服)中也没有,则在联网的前提下,前往中央仓库获取需要的jar包。
- 其中,远程仓库(私服)可以从中央仓库获取jar包,也可以从本地仓库上传来获取jar包
扫描二维码关注公众号,回复: 12199588 查看本文章
四. maven工程标准目录结构
- 核心代码部分:src/main/java目录
- 配置文件部分:src/main/resources目录
- 测试代码部分:src/test/java目录
- 测试配置文件部分:src/test/resources目录
- 页面资源(js、css、img等):src/main/webapp目录
五. maven常用命令
clean
mvn clean 功能:把我们自己编译好的项目中的信息删除掉。并删除target目录。 用处:当我们进入公司之后,领导让我们接手别人的项目继续开发的时候,拿到别人的项目,首先要进行mvn clean,因为每个人的开发环境是不一样的。如果要在自己的环境下开发,则需要先把别人编译的信息进行删除。
compile
mvn compile 功能:将我们项目中src/main/java下的代码进行编译,并生成target目录
test
mvn test 功能:将src/test/java下的代码进行编译,同时,也会编译src/main/java下的代码。重新生成target目录。
package
mvn package 功能:将maven工程进行打包(war包)。并生成target目录。同时也进行compile和test操作。
install
mvn install 功能:将maven工程进行编译,测试,打包,并将包安装到本地仓库。并生成target目录
六. maven的生命周期(清理生命周期(clean)、默认生命周期(compile-test-package-install-deploy)、站点生命周期(略))
- clean-compile-test-package-install-deploy(发布)
其中clean是独立一个生命周期:清理生命周期
另外compile-test-package-install-deploy(发布)是一个生命周期:默认生命周期
在默认生命周期中,当我们执行后面的命令时候,这个命令之前的命令也肯定是执行了一遍。如果直接执行后面的命令,则前面命令也默认执行。
七. maven概念模型图
依赖管理:
<dependencies> <dependency> <groupId>junit</groupId> <!--公司组织的名称 --> <artifactId>junit</artifactId> <!--项目名 --> <version>4.9</version> <!--版本号 --> <scope>test</scope> </dependency> </dependencies>
插件管理
<build> <!-- 配置了很多插件 --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <port>9090</port> <path>/mgr</path> <uriEncoding>UTF-8</uriEncoding> <server>tomcat7</server> </configuration> </plugin> </plugins> </build>
八. IDEA配置maven
- 首先要确保本地已经装好了maven环境
- 打开IDEA,在File-Settings中,找到:Build,Execution,Deployment——Build Tools——Maven
- 在Maven-Runner中配置:-DarchetypeCatalog=local
- 在File-Other things-default things中进行2,3相同配置。
九. IDEA使用maven创建Java工程
- 使用maven骨架创建Java工程
- File-New-Project-选中左侧maven栏-勾选Create from archetype-选中下方:org.apache.maven.archetypes:maven-archetype-quickstart。并填写必须的groupId等信息。
- 创建成功之后,左侧项目栏中可见,目录并不完整:
- 在src/main/下创建resources,后在此文件夹上右键-Mark Diectory as-Resoucres Root
- 在src/test/下创建资源文件的目录
- 不使用maven骨架创建Java工程
- File-New-Project-选中左侧maven栏-不勾选Create from archetype,直接选择下一步,进行输入必须的groupId等信息。一直下一步。
- 此时,目录中有自带的src/main/resources文件夹,没有src/test/resources文件夹,需要自行创建
十. IDEA使用maven创建JavaWeb工程
- 使用maven骨架创建JavaWeb工程
File-New-Project-选中左侧maven栏-勾选Create from archetype-选中下方:org.apache.maven.archetypes:maven-archetype-webapp。并填写必须的groupId等信息
选择允许自动导入
手动补齐maven工程目录
- 在main下创建Java文件夹-右键Mark Diectory as-Soucres Root
- main下创建resources文件夹,右键-Mark Diectory as-Resoucres Root
- 在src下创建test文件夹,并在test文件夹下重复1.2步
十一. IDEA创建maven工程JavaWeb实例
使用骨架创建好JavaWeb工程后,补齐左侧maven目录
在pom.xml中配置servlet、jsp依赖
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> //注意:这句<scope>是必须要写的,因为maven本身的servlet、jsp会和tomcat服务器中的servlet、jsp发生冲突。而provide表示只在编译时有效,执行的时候还是使用tomcat中的依赖 </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency>
在pom.xml中配置tomcat7插件
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>9999</port> //重新指定端口 <uriEncoding>UTF-8</uriEncoding> </configuration> </plugin> //因为maven本身集成的有tomcat插件,但是maven的tomcat版本是tomcat6,在本身jdk版本过高时,tomcat6无法正常运行。所以要再配置一个更高版本的tomcat环境,如tomcat7
在pom.xml中配置jdk
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <target>1.8</target> <source>1.8</source> <encoding>UTF-8</encoding> </configuration> </plugin> //在配置和tomcat后,要配置jdk插件,指定代码编译环境是在jdk1.8的环境下进行编译的。