1. Maven简单介绍
Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念。
作用:完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于Maven部署项目。
2. 什么是自动构建工具?
2.1 .java->.class->run
方式一
javac HelloWorld.java
java HelloWorld
方式二
开发工具Eclipse
2.2 如何创建一个struts2的WEB项目(全手动添加相关jar包,还要设置构建路径)
3. 常用的自动构建工具
ant
maven
Gradle android项目管理和构建已使用
4. Maven安装与配置
4.1 下载maven安装包,解压即可使用
添加链接描述
4.2 配置maven环境变量
4.2.1 MAVEN_HOME
4.2.2 M2_HOME
4.2.3 修改path添加maven相关路径
配置方式跟jdk有些类似,环境变量MAVEN_HOME和M2_HOME的值为maven的根目录、 然后在PATH环境变量里加入“%MAVEN_HOME%\bin;%M2_HOME%\bin;”即可。
4.3 验证
doc窗口执行命令“mvn –version”
4.4 修改“MAVEN_HOME\config”下的setting.xml文件,配置本地仓库。
注意是:“E:/”而非“E:\”
例如:E:/mvn-repository
注1:标签在setting.xml文件的53行
注2:仓库的作用就是用来存放jar包的
注3:仓库的分类
中央仓库
公司仓库(也叫私人仓库或私服)
本地仓库
中央仓库(http://search.maven.org/,但一般使用另外一个网站:http://www.mvnrepository.com/)
公司仓库
本地仓库
公司里面还会有一个大仓库(本地)全公司使用
本地仓库程序员自己使用,私服全公司使用,中央仓库所有人用
注4:jar的查找顺序:本地仓库->私服->中央仓库
注5:换源“阿里云”
在解压的目录里找到 settings.xml 配置文件:
然后将本地仓库路径插入:
找到 mirror 将阿里私服路径插入:
4.5 maven插件安装与配置
注1:eclipse4.0以上已经安装好了,无需额外配置
注2:设置maven安装路径
Installations
注3:指定setting.xml文件
User Settings
-
加入eclipse找到顶部Window——Preferences——Maven(查询)——Installations——Add
-
再Add增加设置本地仓库路径
-
user settings的配置
选中自己的那个settings.xml文件
5. Maven的使用1:创建java项目
Maven project
maven-archetype-quickstart
group id:组织id,一般就是公司域名反写
artifact id:项目名字
version:版本
package:java包名 src/main(源代码)
src/test(测试代码)
target
编译后、打包后的文件
1.
2.注意的一个点就是 catalog 这里默认的是 All Catalogs
要将它改为 Internal(如下图所示)
3.填写好Group Id ,Artifact Id 就可以点击finish
4.项目创好后保存,需要导入依赖(pom.xml中)
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.cjq</groupId>
<artifactId>cjq_maven</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>cjq_maven Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.44</version>
</dependency> <dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>cjq_maven</finalName>
<plugins>
<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>
5.找到web.xml 将 2.3改成3.1
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>Archetype Created Web Application</display-name>
</web-app>
6.右击报错项目选中Properties——Project Facets(将java1.5改成1.8 将Dynamic Web Module2.3改成3.1)
注意:在修改时要把选择框的√取消再改不然会报错
- 修改后再把选择框的√确定
- 将默认WebContent修改成src/main/webapp 并且勾选框框中的内容
7.进行测试看是否能连接
package com.cjq.maven;
import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@WebServlet("/mavenTest")
public class MavenServlet extends HttpServlet{ private static final long serialVersionUID = 1532170778455422950L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("maven 环境搭建完毕!!!");
}
}
结果如下: