目录
1. Maven简单介绍
Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念。
作用:完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于Maven部署项目。
解析:
一个工具的出现肯定是带来好处的,首先解决环境搭建,搭建我们的框架环境第一个动作,导jar包
在我们s阶段和y阶段都是从老师那里考过来的,我们之前学的SQL server,我们会考一个驱动包,
学oracle会有一个oracle的驱动包,学mysql会有一个mysql的驱动包,等等其他,我们自定义mvc是不是要用自定义mvc的jar包
jar包都会有版本的
第一个功能:maven是帮我们解决依赖的问题
xxx.class
百度---> xxx.jar
在百度上进行下载
将xxx.jar导入工程中
如果没有学这个maven这个技术,大致都是在百度上找,那么在百度上下载这个jar包,导入到工程里可能会出现版本不匹配,项目运行部起来的问题
私服
工程中的某一个xml文件中写入一个字符串,达到jar下载的作用
解析:
作用:maven第一个优点就是能解决我们jar版本的冲突问题以及jar的来源问题,以前我们找jar从百度,现在我们的jar包从maven里下载
如果要专门学maven东西很多,我们只能通过后面的不断去学,不断去使用
2. 什么是自动构建工具?
2.1 *.java->*.class->run
方式一
javac HelloWorld.java
java HelloWorld
方式二
开发工具Eclipse3. 常用的自动构建工具
ant
maven
Gradle android项目管理和构建已使用
1. 下载maven安装包,解压即可使用
网址:http://maven.apache.org/download.cgi
maven的安装和jdk的安装一样的
jdk的安装:
1.双击安装:默认是在C盘 C:\Program Files\Java\jdk1.8.0_131
2.配置环境变量
2.1找到我的电脑然后属性,在我们的高级系统设置,然后环境变量,如图所示:
2.2 我们复制下来 C:\Program Files\Java\jdk1.8.0_131 一样的
2.2.3 配置一条 JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131
PATH;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin
Path:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
C:\app\zjjt\product\11.2.0\dbhome_2\bin;
C:\ProgramData\Oracle\Java\javapath;
%SystemRoot%\system32;%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;
C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;
C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;
C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;
C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;
C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\;
%SYSTEMROOT%\System32\OpenSSH\
如果说我要去使用maven也是按照jdk去配置maven
1.找到高级系统设置---》2.环境变量---》3.新建一个MAVEN_HOME跟我们的JAVA_HOME一样的设置一个变量等于我们刚刚解压的那个地址,
2 配置maven环境变量
2.1 MAVEN_HOME
2.2 修改path添加maven相关路径
配置方式跟jdk有些类似,环境变量MAVEN_HOME和M2_HOME的值为maven的根目录、然后在PATH环境变量里加入“%MAVEN_HOME%\bin;%M2_HOME%\bin;”即可
我们现在解压的maven的地址是:
MAVEN_HOME=F:\Courseware\SoftwareInstallPath\maven\apache-maven-3.5.0-bin\apache-maven-3.5.0-bin\apache-maven-3.5.0
Path:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%MAVEN_HOME%\bin;%M2_HOME%\bin;
C:\app\zjjt\product\11.2.0\dbhome_2\bin;
C:\ProgramData\Oracle\Java\javapath;
%SystemRoot%\system32;%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;
C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;
C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;
C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;
C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;
C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\;
%SYSTEMROOT%\System32\OpenSSH\
测试一下:徽标键+R 输入cmd测试:
jdk有jdk的测试 doc窗口执行命令“java -version”
maven配置的测试 doc窗口执行命令“mvn –version”

修改“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:换源“阿里云”

输入网址 https://mvnrepository.com/


中央仓库 概率:包含了项目开发期间包含了所有jar的容器
这个网站是国外的网站有一个特点很慢 ,这个网址在国外,如果项目里面我们这些jar从国外里面去下肯定会很慢的,如果jar很多,去国外下会很慢

私服存在问题:如果说我公司这个路由器交换机坏了,我这局域网就不在了,没用了,那么公司内部的网络就不畅通了,就不能去私服里面去拿东西,网络都不通,拿不了,就进一步升级。
本地仓库就是于这个项目处于同一台机器,已开发用这台电脑,本地仓库就在电脑上面
中央仓库:在服务器架设在国外 ,它包含了所有jar包依赖
私服:它架设在国内,通常它是在公司内部搭建一个局域网,通常只共公司内部使用,也有特殊的,就处理了阿里巴巴,私服它会受网络印象,虽然快,还是会受一定的影响,我们优先会采用本地仓库

用记事本打开然后编辑如图所示:



配置私服的如图所示:

1.1只要每开辟一个新的工作区间,就要按照这个方式:
Window---》Preferences:

跟上面一样的然后就要从新去解压一个新的Tomcat如图所示:


要配置两个:



现在我们就要把 Dynamic Web Project替换掉Maven project,就不会用web项目了,都是maven项目,通过maven项目去管理我们的jar包
Ctrl+n----》输入maven----》 找到Maven project---》Next---》Next----》如图所示:




出错的原因是因为我们要把mvn_repository要放bin目录的上一层的同级里

我们在看我们的本地仓库里面的东西


第一次新建完一般来说还会报错,这一步肯定要很久要稍等一下
创建完了项目之后 ,一定要记得去改几个东西
它这个目录结构有问题:
步骤:

会增加几个文件夹:

怎么解决:我们就要引入jdk的编译器1.8的如图所示:

点击pom.xml---->pom.xml--->输入
(注意位置)

如果在这个步骤:下载失败

怎么解决:
1.先把eclipse工程关掉,关掉了之后在把本地仓库里面的所有文件干掉,如果这个步骤执行了三次,还是不行的话,就说明你的网络不行,换一个网络,连接别人已经下成功的
2.不推荐用,当能解决问题,把别人的已经下载好了的,并且项目没有问题的jar包的本地仓库东西全部copy过去
以前我们建web项目的时候是3.1的版本的,看我们的maven项目如图所示:

web.xml
- <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 Applicationdisplay-name>
- web-app>
索引的源代码:
- <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.0modelVersion>
- <groupId>com.zkinggroupId>
- <artifactId>test_mavenartifactId>
- <packaging>warpackaging>
- <version>0.0.1-SNAPSHOTversion>
- <name>test_maven Maven Webappname>
- <url>http://maven.apache.orgurl>
- <dependencies>
- <dependency>
- <groupId>junitgroupId>
- <artifactId>junitartifactId>
- <version>4.12version>
- <scope>testscope>
- dependency>
-
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- <version>5.1.44version>
- dependency>
-
- <dependency>
- <groupId>javax.servletgroupId>
- <artifactId>javax.servlet-apiartifactId>
- <version>4.0.1version>
- <scope>providedscope>
- dependency>
- dependencies>
- <build>
- <finalName>test_mavenfinalName>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-compiler-pluginartifactId>
- <version>3.7.0version>
- <configuration>
- <source>1.8source>
- <target>1.8target>
- <encoding>UTF-8encoding>
- configuration>
- plugin>
- plugins>
- build>
- project>

修改成1.8的版本


这个错还在:
test_maven/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.0modelVersion>
- <groupId>com.zkinggroupId>
- <artifactId>test_mavenartifactId>
- <packaging>warpackaging>
- <version>0.0.1-SNAPSHOTversion>
- <name>test_maven Maven Webappname>
- <url>http://maven.apache.orgurl>
- <dependencies>
- <dependency>
- <groupId>junitgroupId>
- <artifactId>junitartifactId>
- <version>4.12version>
- <scope>testscope>
- dependency>
-
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- <version>5.1.44version>
- dependency>
-
- <dependency>
- <groupId>javax.servletgroupId>
- <artifactId>javax.servlet-apiartifactId>
- <version>4.0.1version>
- <scope>providedscope>
- dependency>
- dependencies>
-
- <build>
- <finalName>test_mavenfinalName>
- <plugins>
-
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-compiler-pluginartifactId>
- <version>3.7.0version>
- <configuration>
- <source>1.8source>
- <target>1.8target>
- <encoding>UTF-8encoding>
- configuration>
- plugin>
- plugins>
- build>
- project>
这里就又加了几个如图所示:



就不会报错了

接着测试:
DemoServlet:

源代码:
- package com.jwj.demo;
-
- import java.io.IOException;
-
- import javax.servlet.ServletException;
- import javax.servlet.ServletRequest;
- import javax.servlet.ServletResponse;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
-
- @WebServlet("/demo")
- public class DemoServlet extends HttpServlet{
-
- @Override
- public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
- System.out.println("come in ......");
- }
- }
运行结果:
①先下载,在非中文目录下进行解压
②在电脑属性、高级系统设置、环境变量进行配置
③新建MAVEN_HOME=bin的上一层(maven的根目录)
④path;%MAVEN_HOME%\bin;
⑤mvn -version
①中央仓库:国外的包含所有jar
②私有仓库:私服,公司根据自身业务,存放所有的jar依赖
③本地仓库:本电脑所有开发jar包
①设置本地仓库地址
②设置阿里云私服地址
①install 指定bin上一层(maven的根目录)
②user setting 指定maven的setting.xml的配置,下面的地址
会同步切换为 maven的setting.xml的私有仓库地址
①选中项目,右键build path--》修改目录结构
②pom.xml添加jdk1.8的插件
③web.xml中修改4.1约束
④选中项目,右键properties
jre1.5---》jdk1.8
web2.3--》web3.1---》设置src/main/webapp
⑤maven update