Maven第一阶段
Maven 的好处
maven: 专家,内行
- 最直观的效果(项目的大小小很多):
- 传统项目
- Maven 项目
- 传统项目
分析出maven优点是如何实现的
- 依赖管理
- 就是对jar包管理的过程
- 分析jar包查找的过程:
- 在项目与maven的仓库之间有索引,所以速度也不会变慢
项目的一键构建
什么是构建:- 找到编译好的项目目录下运行
mvn tomcat:run
,就会自动转成war放到apach下并打开服务器,然后还有提示输入的网址
- 找到编译好的项目目录下运行
Maven的安装
下载之后直接解压即可
对应的目录结构:
Maven的配置及仓库的位置
配置环境变量
- 电脑上需安装环境,安装JDK1.7 +版本 (将配置环境变量path )
配置
MAVEN_HOME
,变量值就是你的安装 的路径(bin目录之前一级目录),然后将%MAVEN_HOME%/bin
加入环境变量path配置完之后可以用
mvn -version
或简写为mvn -v
来查看版本信息3.3.9来确定是否安装成功。
仓库的配置
但是使用mvn tomcat:run
,还是不能使用,因为在默认情况下会通过 pom.xml
这个配置文件先在本地仓库中找,找不到再去远程仓库,找不到再去中央仓库.
仓库的分类
- 本地仓库
自己电脑上的仓库 - 远程仓库:
公司内部的服务器上 - 中央仓库
apache
服务器上呢:有些收费的jar包没有例如:Oracle
http://repo1.maven.org/maven2
- 本地仓库
配置maven的查找本地仓库的路劲:
- 找到maven的安装目录下的conf下的settings.xml打开
- 配置
<localRepository>本地仓库的地址</localRepository>
maven工程的标准目录结构
既符合maven目录规范,又符合web项目规范
Maven的目录结构的规范:
Maven 命令
使用dos窗口,进入到有pom.xml的目录即可。
- mvn compile 编译
- compile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下。
- mvn test 单元测试,先编译在运行单元测试类
- test是maven工程的测试命令,
mvn test
,会执行src/test/java
下的单元测试类。
- test是maven工程的测试命令,
- mvn clean 清除编译
- clean是maven工程的清除命令,执行clean会删除target目录及内容。
- mvn package:java项目导jar包,web项目导war包
- package是maven工程的打包命令,对于java工程执行package打包成jar包,对于web工程打包成war包。
- mvn install(install 第二次执行的时候,不会删除没有修改的内容,只会修改更改过的内容)
- install是maven工程的安装命令,执行install将maven打成jar包或war包发布到本地仓库。
- 当后面的命令执行时,前面的操作过程也都会自动执行,
Eclipse中使用maven
配置
高版本的eclipse中内置maven的插件,在windows中的属性中找到maven属性配置Installations中路劲改为自己的maven的路劲
点击add2. 在eclipse中配置仓库的位置
3. 构建索引
`Window—show view ——other———-maven Repositories`
4. 重构索引
使用
1. 在eclipse中创建一个maven工程
2. 选择maven project
3. 点next进入下面的界面
4. 可以看到一个helloworld工程,但报错(添加下面的内容就OK了)
(有的时候web的目录结构不会自动生成,所以需要在webapp
下加一个WEB_INF/web.xml
)
5. src/java/main创建了一个Servlet,但报错
6. 要解决问题,就是要将servlet-api-xxx.jar包放进来,作为maven工程应当添加servlet的坐标,从而导入它的jar
直接打开helloworld工程的pom.xml文件,再添加坐标
7. 添加后自动生成的结果如下:
- 一般web项目需要
servlet-api 2.5
跟jsp-api:2.0
8. 添加包的坐标时,还可以指定这个jar包将来的作用范围
- jar包冲突
通过命令运行的tomcat是仓库中的插件,跟以前的tomcat没关系
因为刚才自己引入了servlet跟jsp的jar包但是,tomcat中自己已经内置了这两个jar包了所以会发生冲突
所以需要插入jar包的时候选择一下作用范围:provided
9. 调整jdk,在pom.xml文件中添加如下配置:
运行时,jdk版本低于1.7的时候也会报错,把下面的代码配置到pom.xml中即可调整版本到1.7
12345678910111213<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></plugins></build>有的时候改了jdk版本也会报错,重新删除刷一遍,不行再多来几遍。
注意的一些问题
- maven有错误的时候可以右键
maven-->update project
,然后有的时候就不会报错了 - 有的时候也会报错,剪贴然后重新粘贴保存一下
到服务器上运行有两种方式:
- 运行maven仓库中的Tomcat插件,右键项目然后找到
run as ---> 里面有好多maven的命名
,也可以有maven build...
自己敲命令,运行在在服务器上就是tomcat:run
- 也能像以前web中那样,先把项目加入服务器中在运行
- 运行maven仓库中的Tomcat插件,右键项目然后找到
仓库中的插件默认运行的Tomcat6的版本,下面是切换版本的方法:
|
|
- 简要说明一下:
- path 是访问应用的路径
- port 是tomcat 的端口号
- uriEncoding URL按UTF-8进行编码,这样就解决了中文参数乱码。
- Server 指定tomcat名称。
- 运行:
右键-----> run as ----->maven build..:tomcat:run
- Tomcat的版本就要改为
tomcat7:run
- Tomcat的版本就要改为