1. Maven介绍
- 1. Maven安装与配置;(掌握)
- 2. 怎样运行Maven项目;(掌握)
- 3. Maven的坐标;(掌握)
- Maven最重要的特点
2.1. 自动构建:只需要一句dos命令:mvn jetty:run
2.2. jar文件依赖管理,需要程序员添加配置信息(pom.xml)
2.3. 按照契约编程:拥有约定,知道你的代码在哪里,放到哪里去
- Maven安装与配置
3.1. 安装JDK
必须先安装JDK,安装的路径不要有中文,不要有空格
先看操作系统位数:安装64位JDK
配置环境变量:要不全部配置到系统变量或者用户变量
3.2. 配置JAVA_HOME:配置到JDK安装的根路径
3.3. 配置PATH:不能把后面配置的内容清空
只要在Window系统path环境变量出现的exe程序,就可以直接点击使用
3.3.1. 显示当前安装JDK版本:
3.4. 配置MAVEN_HOME:配置到MAVEN的根路径
G:maven资料maven相关zipapache-maven-3.2.5-bin.zip
路径是没有in
3.4.1. 配置PATH
把所有的配置window系统窗体,cmd窗体关闭
3.4.2. 检查是否配置成功
mvn -v
mvn 没有参数
3.4.3. 生成2个文件夹:
C:UsersAdministrator.m2 epository 本地仓库目录
3.5. MAVEN使用JVM内存不足
设置MAVEN_OPTS环境变量
-Xms128m -Xmx512m
3.6. 扩展一下配置JVM的内存大小
JAVA_OPTS
-Xms256m -Xmx1024m
3.7. 修改本地仓库默认存储位置
3.7.1. 本地仓库目录结构
3.7.2. 一般建议把本地仓库修改到非系统盘
因为重新安装系统之后,c盘数据会清空
MAVEN_HOME/conf/settings.xml 全局的
~用户根路径C:UsersAdministrator/.m2/settings.xml 单个用户的,修改用户的配置文件
增加
<localRepository>D:/OpenSource/repository</localRepository>
- 配置流程小结
4.1. 配置MAVEN_HOME
MAVEN_HOME=F:OpenSourceapache-maven-3.2.5
PATH=%JAVA_HOME%in;%MAVEN_HOME%in; 放置到最前面,后面的不能删除
4.2. 重新打开cmd,
输入mvn -v只是看到版本号
输入mvn当前登录的用户目录创建一个.m2文件夹,在此文件夹下面还好产生repository文件夹(默认本地仓库)
4.3. 因为c盘,可能会重新安装
本地仓库最放到非c盘
修改全局配置文件settings.xml
4.4. 修改settings.xml
指向解压缩的本地仓库F:就业班day42-Maven&UMLMaven资料maven相关zip epository-teacher.zip,1.8G
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>F:/OpenSource/repository-teacher</localRepository>
4.5. 创建pss数据库,导入pss.sql
4.6. 解压缩itsource-pss-spring-data-bootstrap
修改itsource-pss-spring-data-bootstrapsrcmain esources
下面的jdbc.properties里面的mysql密码,数据库名称
cmd进入其根路径(此路径下面有pom.xml),输入mvn jetty:run
打开浏览器访问,此效果是进销存项目9天的成果
- Maven项目标准目录结构
src/main/java —— 存放项目的.java文件
src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件,hibernate映射文件
src/main/webapp —— 存放jsp,css,image等文件
src/test/java —— 存放所有测试.java文件,如JUnit测试类
src/test/resources —— 测试资源文件
pom.xml,主要要写的配置文件
target —— 项目由maven自动输出位置,编译后所有class文件都在这里
- 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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 组id:包名 -->
<groupId>cn.itsource.maven</groupId>
<!-- 模块名:和工程名一致 -->
<artifactId>Hello</artifactId>
<!-- 版本号 -->
SNAPSHOT快照,不稳定,随时都在修改bug
RELEASE 释放,稳定版本
<version>0.0.1-SNAPSHOT</version>
<!-- 项目名 -->
<name>hello</name>
<!-- jar文件依赖 -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<!-- 只能在测试里面使用src/test/java -->
<scope>test</scope>
</dependency>
</dependencies>
</project>
- 常用maven命令
a)打开cmd命令行,进入Hello项目根目录执行 mvn compile命令,查看根目录变化
b)cmd 中继续录入mvn clean命令,然后再次查看根目录变化
c)cmd 中录入 mvn clean compile命令, 查看根目录变化
****d)cmd 中录入 mvn clean test命令,查看根目录变化
****e)cmd 中录入 mvn clean package命令,查看根目录变化
f)cmd 中录入 mvn clean site命令,查看根目录变化
****g)cmd 中录入 mvn install命令,查看本地仓库变化
****h)生成Eclipse的需要2个文件mvn eclipse:eclipse
maven打包不执行测试用例的命令
****mvn package -Dmaven.test.skip=true
mvn source:jar打源码包
mvn jetty:run
Jetty类似于tomcat的web服务器,一般用在嵌入式开发,jetty服务器包含一个jar文件
- 配置maven插件
eclipse-luna-SR2-4.4:eclipse内置的maven插件
更改自己配置的maven版本
- 从互联网搜索需要的maven坐标,获取到jar文件
http://mvnrepository.com
搜索struts2
包名,模块名
Maven坐标
- Maven坐标主要组成
groupId 组id:定义当前Maven项目隶属项目,包名,一般是公司项目包名
artifactId 模块id:定义实际项目中的一个模块,模块名(工程名称)
version:定义当前项目的当前版本
SNAPSHOT快照版本,就是开发版本
RELEASE释放版本,正式版本,稳定 使用其他机构提供的jar文件,必须使用释放版本
packaging:定义该项目的打包方式(jar/war) 默认值jar
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
如果需要oracle的jar,只有自己按照maven坐标的路径,自己拷贝到本地仓库
因为oracle不开源
- 仓库管理
11.1. 本地仓库:自己电脑存放jar文件地方
~/.m2/repository/
每个用户只有一个本地仓库
11.2. 远程仓库
11.2.1. 中央仓库:Maven默认的远程仓库
http://repo1.maven.org/maven2
11.2.2. 私服:是一种特殊的远程仓库,它是架设在局域网内的仓库
11.2.3. 镜像:用来替代中央仓库,速度一般比中央仓库快
百度 maven 镜像 csdn,oschina
- 课程总结
12.1. 重点
12.2. 难点
- 常见异常
- 课后练习
- 面试题
- 扩展知识或课外阅读推荐
16.1. 扩展知识
16.2. 课外阅读
- jQuery 3.0十大新特性
http://www.jb51.net/article/87998.htm