0907
1)目前所学技术(三层体系架构)
2)构建项目
3)配置settings.xml文件
配置jdk
jdk18
true
1.8
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
nexus-aliyun
*
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
G:\Maven\repository
4)maven工程的座标和仓库中路径的对应关系
5)一些概念介绍
1 Project:任何您想build(构建)的事物,Maven都可以认为它们是工程(项目)。这些工程被定义为工程对象模型(POM,Poject Object Model)。一个工程可以依赖其它的工程;一个工程也可以由多个子工程构成。
依赖:一个项目需要使用另一个项目*,*项目可以被拆分多个模块
2 POM:POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元数据文件,POM文件位于每个工程的根目录中。
2GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。groupId要求:全球唯一,一般情况使用域名倒写。
3 ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
4 Dependency:依赖,为了能够build或运行,一个典型的Java工程会依赖其它的包。在Maven中,这些被依赖的包就被称为dependency。dependency一般是其它工程的artifact。
5 Plug-in:Maven是由插件组织的,它的每一个功能都是由插件提供的。插件提供goal(类似于Ant中的target),并根据在POM中找到的元数据去完成工作。主要的Maven插件要是由Java写成的,但它也支持用Beanshell或Ant脚本写成的插件。
Repository:仓库。
5)maven的常用命令
mvn –version | 显示版本信息 |
---|---|
mvn clean | 清理项目生产的临时文件,一般是模块下的target目录 |
mvn compile | 编译源代码,一般编译模块下的src/main/java目录 |
mvn package | 项目打包工具,会在模块下的target目录生成jar或war等文件 |
mvn test | 测试命令,或执行src/test/java/下junit的测试用例. |
mvn install | 将打包的jar/war文件复制到你的本地仓库中,供其他模块使用 |
mvn deploy | 将打包的文件发布到远程参考,提供其他人员进行下载依赖 |
mvn site | 生成项目相关信息的网站 |
mvn eclipse:eclipse | 将项目转化为Eclipse项目 |
mvn dependency:tree | 打印出项目的整个依赖树 |
mvn archetype:generate | 创建Maven的普通java项目 |
mvn tomcat7:run | 在tomcat容器中运行web应用 |
mvn jetty:run | 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用 |
6)pom.xml文件的节点元素说明
pom文件的顶级节点
object model版本,对Maven2和Maven3来说,只能是4.0.0
项目创建组织的标识符,一般是域名的倒写
定义了项目在所属组织的标识符下的唯一标识,一个组织下可以有多个项目
当前项目的版本,SNAPSHOT,表示是快照版本,在开发中
打包的方式,有jar、war、pom等
项目的名称
项目的地址
属性配置,比如:<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
构建项目依赖的jar
7)概念模型图
8)maven的生命周期
clean default site
原文链接:https://zhuanlan.zhihu.com/p/25929012
clean周期:
pre-clean:准备清理
clean:真正的清理工作
post-clean:执行清理后的一些后续工作
default周期:
validate:验证工程是否正确,所有需要的资源是否可用。
initialize:初始化配置
generate-sources:生成源代码编译目录
process-sources:处理项目主资源文件,复制资源文件到outputclasspath
generate-resources:生成资源目录
process-resources:处理资源文件
complie:编译源代码
process-classes:处理编译后文件
generate-test-sources:生成测试目录
process-test-sources:处理项目测试资源文件,复制测试资源文件到outputclasspath
generate-test-resources:生成测试资源文件
process-test-resources:处理测试资源文件
test-compile:编译测试代码
process-test-classes:处理测试代码
test:单元测试运行测试代码
prepare-package:打包前的准备
package:将编译好的代码打包成为jar或者war或者ear等等
pre-integration-test:准备整体测试
integration-test:整体测试
post-integration-test:为整体测试收尾
verify:运行所有检查,验证包是否有效且达到质量标准。
install:安装到本地Maven库
deploy:将最终包部署到远程Maven仓库
site周期:
pre-site:准备生成站点
site:生成站点及文档
post-site:站点收尾
site-deploy:将生成的站点发布到服务器上
具体看原文链接:https://www.cnblogs.com/yuanrw/p/9979875.html
9)maven自动部署到tomcat9
原文链接:https://blog.csdn.net/qq_36472252/article/details/87921305
10)war和war(exploded)
war模式:将web工程以war包的形式上传到服务器
war exploed模式:将web工程以当前文件夹的位置关系上传到服务器