maven基础知识
目录结构:
src
-main
-java
-package
-test
-java
-package
resources
maven常用命令:
mvn -v 查看maven版本
compile 编译
test 测试
package 打包
clean 删除target
install 安装jar包到本地仓库中
maven坐标
<dependency>
<groupId>整个路径名</groupId>
<artifactId>包名-模块名</artifactId>
<version>0.0.1SNAPSHOT</version>
</dependency>
maven仓库
本地仓库
中央仓库;国外的
镜像仓库;国内的
maven中有一个给我们提供的超级pom,所有的项目都是继承这个pom的。
D:\computerScience\Book.pdf\maven\apache-maven-3.5.0-bin\apache-
maven-3.5.0\lib\maven-model-builder-3.5.0.jar\org\apache\maven
\model
maven的安装目录路径lib\maven-model-builder-3.5.0.jar\org\apache\maven\model
完整的项目构建过程
清理、编译、测试、打包、集成测试、验证、部署
maven生命周期
clean:清理项目
pre-clean:执行清理前的工作
clean:清理上一次构建生成的所有文件
post-clean:执行清理后的文件
default:构建项目(最核心)
compile,test,package,install
site:生成项目的站点
pre-site:在生成项目站点前要完成的工作
site:生成项目的站点文档
post-site:在生成项目站点后要完成的工作
site-deploy:发布生成的站点到服务器上
以上三个生命周期互相独立,命令也是互相独立,并且顺序执行的。
命令有:clean,compile,test,package,install,例如执行install命令,前面的命令也会默认先执行。
pom.xml解析,工程对象模型
<project>根标签
<modelVersion>当前pom版本
坐标信息
<groupId>反写的公司网址+项目<artifactId>项目名+模块名
<version>第一个0表示大版本号,第二个0表示分支版本,第三个0表示小版本
0.0.1snapshot快照,alpha内部测试,beta公测,release稳定,GA正式发布
<packaging>默认是jar,还可以是war,zip,pom
<name>项目名字
<url>项目地址
<description>项目描述
<developers>开发人员信息
<licenses>许可信息
<organization>组织信息
<properties>一些属性
$(name)=value
<dependencies>依赖列表
<groupId>
<artifactId>
<version>
<type>
<scope>以来范围,test为测试范围有用
<optional>以来是否可选
<exclusions>排除依赖
<exclusion>
<dependencyManagement>依赖管理,不会在项目中被使用,一般作为父类被继承
<build>
<plugins>插件列表
<plugin>
<parent>子模块对父模块的继承
<modules>用来聚合多个maven项目
依赖的范围
maven中有3中classpath:1.编译,2.测试,3.运行
<scope>属性与classpath对应:maven官网上查看dependency scope
compile默认,3中全部有效
provided前两种有效
runtime测试和运行有效
test测试有效
system编译测试有效,可移植性差
import导入的范围,他只是用在dependencyManagement中,表示从其他的pom中导入dependency的配置
修改maven依赖的jdk
可以修改settings.xml中的<profile>
依赖冲突
1.短路优先
2.先声明先优先
maven的聚合和继承
聚合:modules
继承:公有类设置成父类,减少重复使用
使用方法:利用<parent>和拥有<dependencyManagement>的项目的坐标
使用maven构建web项目
创建版本为webapp。不是quickstart。
第一步:创建dynamic web project
此处有错误需要修正,打开maven的中央仓库,寻找servlet
复制这样的到工程中
做好maven的目录结构
做好web工程的检查工作
1.项目上右键->properties->projectFacets
2.项目右键->buildpath
还是在maven中央仓库中找到jetty::jetty for maven,拷贝其依赖到pom.xml
这样运行pom,使用jetty:run或者是package都可以启动jetty服务器,然后再浏览器中输入localhost:8080
还可以是tomcat服务器,需要在tomcat官网上,利用maven plugin链接,其他都一样,最后输入localhost:8080/webdemo