前言:
1. Maven简介: Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM:Project Object Model)的概念。
1、什么是自动构建工具?
*.java->*.class->run
方式一:
手动构建方式:打开黑窗口(Window+R),使用javac/java方式编译要执行的类,打印相关内容
javac HelloWorld.java
java HelloWorld
方式二:开发工具Eclipse
2、常用的自动构建工具: ant、maven、Gradle android项目管理和构建已使用
2. Maven作用:完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于Maven部署项目。
3. Maven主要特点:项目设置遵循统一的规则;任意工程中共享;依赖管理包括自动更新。
大纲:
1、maven的下载、安装及配置
Maven工具是一款基于Java的工具,所以需要先安装JDK。
1.1. 下载maven安装包,解压即可使用(3.5.4)
1.2. 配置maven环境变量
2.1 MAVEN_HOME
2.2 M2_HOME
2.3 修改path添加maven相关路径(即下载路径)
配置方式跟jdk有些类似,环境变量MAVEN_HOME和M2_HOME的值为maven的根目录; 然后在PATH环境变量里加入“%MAVEN_HOME%\bin;%M2_HOME%\bin;”即可
1.3 验证
doc窗口执行命令 “mvn –version”,若能出现Maven,代表配置成功。
1.4.修改“MAVEN_HOME\conf”下的setting.xml文件,配置本地仓库。
注1:“ E:/ ”而非“ E:\ ”
注2:仓库的作用就是用来存放jar包的
注3:仓库的分类:中央仓库(默认是国外的源,不支持断点续传。换成国内的阿里巴巴的源,速度更快)
中央仓库 网址:https://mvnrepository.com/
公司仓库(也叫私人仓库或私服)
本地仓库:公司里面还会有一个大仓库(本地)全公司使用;本地仓库程序员自己使用,私服全公司使用,中央仓库所有人用注4:jar的查找顺序:本地仓库->私服->中央仓库
注5:换源“阿里云”
<!--setting.xml中找到mirrors标签,再添加阿里镜像即可--> <mirrors> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror> </mirrors>
2、基于eclipse创建 maven web 项目
eclipse:基于workspace工作空间,一个工作空间里面可以包含多个项目
Maven环境搭建:
注: eclipse中的maven配置与eclipse的工作空间有关!
注1:eclipse4.0以上已经安装好了,无需额外配置
注2:设置maven安装路径
Installations注3:指定setting.xml文件(配置maven的核心配置文件位置,并且读取出本地仓库)
User Settings
第一步:新建项目(New -> Other)
第二步:直接下一步(Next)
第三步:选中Internal
第四步:设置组织机构ID和项目名
此时项目会报错,需要引入依赖修改相关配置。
第一步:选中项目Properties -> Maven下的Project Facets中的Dynamic Web Module的配置为3.0;Java改成 jdk1.8
第二步:在pom.xml中配置相关数据
<modelVersion>4.0.0</modelVersion> <!-- 组织机构ID --> <groupId>com.zking</groupId> <!-- 项目名 --> <artifactId>maven01</artifactId> <!-- 打包方式war --> <packaging>war</packaging> <!-- 版本 --> <version>0.0.1-SNAPSHOT</version> <!-- 当前名称 --> <name>maven01 Maven Webapp</name> <url>http://maven.apache.org</url> <!-- 统一定义依赖版本 --> <properties> <junit.version>4.12</junit.version> <servlet.version>4.0.1</servlet.version> </properties> <dependencies> <!-- junit --> <dependency> <groupId>junit</groupId> <!-- 引入的依赖名称为Junit --> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <!-- servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${servlet.version}</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>maven01</finalName> <plugins> <!--第一步就是配置maven-compiler-plugin插件--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> </project>
再修改web.xml由2.3至3.0
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>Archetype Created Web Application</display-name> </web-app>
依赖引入完成会在Maven Dependencies中显示
src/main/java:源代码目录
src/main/resources:用于存放公共资源
src/test/java:在开发阶段用于测试代码,打包项目时不会打包进去,仅在开发阶段使用
Libraries:依赖
JRE System Libraries:运行环境
Maven Dependencies:Maven需要的依赖
最后,更新项目。找到Maven中的Update Project更新项目,配置完成!
3、基于idea创建 maven web 工程
idea:基于project工程,一个工程里面包含多个模块(module)
第一步:选中Setting配置Maven
第二步:新建工程 Create New Project
设置工程名称,再Next
配置核心文件setting.xml,及中央仓库路径
第二步:配置pom.xml 和 web.xml3.0(同eclipse一样)
<?xml version="1.0" encoding="UTF-8"?> <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> <groupId>com.zking</groupId> <artifactId>maven01</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <name>maven01 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> <junit.version>4.12</junit.version> <servlet.version>4.0.1</servlet.version> </properties> <dependencies> <dependency> <!--junit+servlet--> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${servlet.version}</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>maven01</finalName> <plugins> <!--第一步就是配置maven-compiler-plugin插件--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> </plugins> </build> </project>
依赖配置成功
配置Tomcat 发布项目,运行即可。
拓展
1):普通方式启动 2):Debug启动 (1、2方式都属于Tomcat启动)
3):JRebel普通启动 4):JRebel Debug启动
本章完!