maven的使用

0907

1)目前所学技术(三层体系架构)

在这里插入图片描述

2)构建项目

[外链图片转存失败(img-DBMqL9bO-1568252618629)(C:\Users\15566\AppData\Roaming\Typora\typora-user-images\1568118468566.png)]

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工程的座标和仓库中路径的对应关系

[外链图片转存失败(img-slUiIGg1-1568252618631)(C:\Users\15566\AppData\Roaming\Typora\typora-user-images\1568125419362.png)]

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工程以当前文件夹的位置关系上传到服务器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章