分析之前做项目的弊端:
①使用jar方式开发项目需要一个个找jar包,非常麻烦
②,jar之间是有冲突的
如:com.jdbc.mysql.Driver在工程中出现了两次,意味着存在jar冲突,会使程序无法运行
解决方式:使用Maven
一,解压
(所有的软件安装都是非中文目录)
解压到当前文件夹
二,配置环境变量
此电脑(右键)——>属性——>高级系统设置——>环境变量——>(在系统变量下)新建MAVEN_HOME(仿照JAVA_HOME)
找到解压后文件的路径如下
路径即为变量值
选择Path,在后面追加%MAVEN_HOME%\bin
截止到这里maven就可以使用了
三,配置本地仓库及私有仓库
更改settings.xml文件如下
将<localRepository>E:/maven</localRepository>复制放在注释外
如果更改后保存不了可以尝试选择其他打开方式再保存
同理将mirror段复制放出
注意:<mirror></mirror>要放在<mirrors></mirrors>里面
<mirrors><mirror></mirror></mirrors>
如上图中放置错误,建项目时会报错!
原理
当配置结束后
1.通过pom文件的坐标优先读取本地仓库的jar,如果曾经下载过,那么直接自动导入到当前项目中使用
2,如果本地仓库没有,那么就会到阿里云镜像服务器中去找开发需要的jar包,找到了会自动下载到本地仓库,并且引入项目
3,如果本地仓库没有,会到国外的maven中央仓库去下载,有则会自动下载引入项目中使用
4,如果国外的maven中央仓库也没有,一定是代码问题,会报错
hello maven实操
目标:在maven中将项目跑动起来
意味着需要在maven项目中导入Tomcat相关的jar依赖,或者说servlet相关的依赖
注意1:练习必须联网,并且网络质量要好
注意2:maven项目默认是没有Tomcat依赖的
eclipse配置:window——>Preference——>Maven——>Installation——>add(配置maven安装目录,解压在哪里就选哪里)不要使用中文目录,否则可能导致报错!
上一步完成后配置User Setting,选择解压后文件的Settings路径
建立maven项目
Catalog选择Internal:代表优先读取本地
Filter选择1.0的
随便取上名字
建立好项目之后会报错,需要更改以下配置
选择Project Facets,下图中勾选的Dynamic Web Module 2.3改为3.1 Java 1.5改为1.8
WebContent改为webapp
右键Build Path 如下,选择1.8版本的jdk
修改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>
在pom中配置编译
通过x ,y ,z 坐标的方式在maven库中找到jar包
<dependency>
<groupId>javax.servlet</groupId> 相当于x坐标
<artifactId>javax.servlet-api</artifactId> 相当于y坐标
<version>4.0.0</version> 相当于z坐标
<scope>provided</scope>
</dependency>
在https://mvnrepository.com/中央仓库中寻找api文件,在这里我导入的是4.0.0版本
https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/4.0.0
复制上图中maven代码到pom中
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.0</version>
<scope>provided</scope>
</dependency>
写DemoServlet进行测试
运行结果如下,说明访问成功