【maven学习】孔浩Maven学习笔记

一、安装
1、maven依赖jdk需要先安装jdk,且maven的解压缩版是jdk事先编译好的,高版本jdk编译的maven在低版本jdk上运行会报错:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version xxx
2、设置环境变量 有些机器可能需要重启;

二、组件
1、pom.xml
2、本地仓库仓库:项目依赖包首先到本地仓库去查找 找到则引用 找不到就从全球中央仓库下载(需要联网)
maven安装目录中lib目录下maven-model-builder-3.2.2.jar中pom-4.0.0.xml中配置了中央仓库地址<url>http://repo.maven.apache.org/maven2</url>
不配置有一个默认位置(win7:C:\Users\Administrator\.m2\repository),修改conf下配置文件settings.xml 将<localrepository>改为具体路径
3、目录约定:
项目目录
src
--main
----java 存放java代码
----resources 存放配置文件
--test
----java
----resources

三、命令
1、mvn compile 编译,编译包放到target目录
2、mvn test 测试在target目录生成测试报告目录surefire-reports
3、mvn clean 清空target
4、mvn package 编译测试然后打包成一个jar包 放到target目录下
5、mvn install 安装:将当前项目编译测试打包安装到本地仓库里
6、mvn archetype:generate 引导式创建一个项目
eg: mvn archetype:generate -DgroupId=com.wjy.maven -DartifactId=maven-ch03 -Dversion=0.0.1-SNAPSHOT

四、在eclipse创建maven项目:
1、手动安装m2eclipse插件
2、不用安装的插件 要使用本机解压包的maven做如下配置
Window-->Preferences-->Maven-->Installations 和 User Settings配置
3、创建maven project 使用骨架maven-archetype-webapp创建web工程
4、修改pom.xml文件 添加dependency依赖 可以到http://mvnrepository.com/直接查找 然后可以找到jar maven标识 直接拷进来


五、maven隐藏变量
${basedir} 项目根目录
${project.build.directory} 构建目录,缺省为target
${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
${project.packaging} 打包类型,缺省为jar
${project.xxx} 当前pom文件的任意节点的内容

六、maven依赖和传递特性
scope表示当前依赖的有效范围
compile 编译和打包时依赖 默认scope
provided 编译和测试有效 打成war时无效 例如 servlet-api 因为该包已经在tomcat中提供
runtime 运行时依赖 编译时不依赖 例如jdbc
test 测试时依赖 编译和打包都不会加进去 依赖不会传递

间接依赖
A-->L1.0 直接依赖
B-->L2.0 直接依赖
C-->A,B 间接依赖 C中L的版本取决于A,B在C的pom文件的先后顺序 取在前面的位置的版本

当依赖级别不相同时候 取层级最短的那个

排除依赖 <exclutions>
七、maven聚合和继承特性
建立pom项目来聚合多个模块在一起管理
建立一个parent项目(同时也是pom项目)存放相同的常量 属性 共同依赖 这样继承它的子模块就会继承这些共同属性

关于版本:0.0.1-里程碑
SNAPSHOT:开发人员开发中的版本,开发快照
alpha:内部人员测试版本
beta:公测版本
Release(RC):释放版本 稳定版本
GA():正式应用版本
maven 常用SNAPSHOT和Release


八、maven插件
1、三个生命周期:clean、compile、site

九、本地仓库管理器

 

十、maven发布
第一种(传统方式):maven项目执行clean package 到target目录取出war包放到tomcat webapps下 启动tomcat访问
第二种:使用拷贝插件拷贝war包到tomcat下 手动启动tomcat
第三种:使用jetty插件
http://www.cnblogs.com/fnng/archive/2011/12/16/2290587.html
http://www.blogjava.net/alwayscy/archive/2007/05/19/118584.html
http://www.blogjava.net/alwayscy/archive/2007/09/13/144969.html
http://blog.csdn.net/itdada/article/details/12951739


十一、Nexus (同svn一样 最好建在linux上 速度快)
下载:nexus sonatype
1、私有仓库管理

2、maven如何修改本地仓库与中央仓库

可用远程仓库地址:

1. http://www.sonatype.org/nexus/

2. http://mvnrepository.com/ (本人推荐仓库)

3. http://repo1.maven.org/maven2

 

其他:
jQury ajax data table

posted @ 2016-03-11 17:03  cac2020  阅读(318)  评论(0编辑  收藏  举报