Java学习记录 Maven项目概念篇

Maven概念

目录布局

Maven创建项目,目录结构都是有标准的模板

目录说明
src/main/java应用程序的源代码的目录
src/main/resources项目的源文件所在的目录
src/main/filters资源筛选器文件
src/main/webappWeb 应用程序源
src/test/java测试代码所在的目录,
src/test/resources测试资源
src/test/filters测试资源筛选器文件
src/it集成测试(主要针对插件)
src/assembly装配描述符
src/site网站
pom.xml核心配置文件,项目的描述文件
target项目构建的输出文件
LICENSE.txt项目许可证
NOTICE.txt项目所依赖的库所需的通知和归属
README.txt项目的读物

仓库

专门 存放Maven项目的位置

本地仓库

本地上的一个文件夹。首次应用会从远程仓库进行下载的,下次应用会在本地找,没有则下载远程

远程仓库

中央仓库

官方提供的仓库 ,也是 Macen的默认仓库

私服

局域网内架设私有的仓库服务器,用于提供外部远程仓库应用

配置本地仓库

根目录\conf\setting.xml 文件的 settings节点里 添加以下代码

我的本地存储位置在 D:\Maven\repository

<!-- 配置本地仓库 -->
<localRepository>D:\Maven\repository</localRepository>

配置远程仓库

Macen 默认仓库是 境外,下载速度慢、不便捷

于是我们选择使用 国内阿里云Macen仓库作为中央仓库镜像

根目录\conf\setting.xml 文件的 mirrors节点里 添加以下代码(更改为阿里云Macen仓库)

<!-- 配置阿里云镜像 -->
<mirror>
    <!-- 镜像的唯一标识 -->
	<id>nexus-aliyun</id>
    <!-- 镜像名称 -->
	<name>Nexus aliyun</name>
    <!-- 镜像仓库 Maven地址 -->
	<url>http://Maven.aliyun.com/nexus/content/groups/public/</url>
    <!-- 配置是否为中央仓库镜像,如果是,则central -->
	<mirrorOf>*</mirrorOf>
</mirror>

核心文件pom.xml

POM是 Maven 工程的基本工作单元,是一个XML文件,包含 了项目的基本信息,用于描述项目如何构建,声明项目依赖

执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。

<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">
<!-- Maven模型的版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如
com.companyname.project-group,Maven会将该项目打成的jar包放本地路
径:/com/companyname/project-group -->
<groupId>com.kkb.Maven</groupId>
<!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
<artifactId>HelloWorld</artifactId>
<!-- 当前项目版本号:同一个项目开发过程中可以发布多个版本,此处标示0.0.1版 -->
<!-- 当前项目版本号:每个工程发布后可以发布多个版本,依赖时调取不同的版本,使用不同的版本号
当前项目版本号,snapshot为快照版本即非正式版本,release为正式发布版本
-->
<version>0.0.1-snapshot</version>
<!--打包类型,一般有jar、war、pom等-->
<packaging>jar</packaging>
<!-- 名称:可省略 ,常用于 Maven 生成的文档。-->
<name>Hello</name>
<!--项目描述:可省略,常用于 Maven 生成的文档-->
<description></description>
<!-- 项目依赖构件配置,配置项目依赖构件的坐标 -->
<dependencies>
    <!-- 依赖设置 ,可以有多个dependency节点-->
    <dependency>
        <!-- 依赖组织名称 -->
        <groupId>junit</groupId>
        <!-- 依赖项目名称 -->
        <artifactId>junit</artifactId>
        <!-- 依赖版本名称 -->
        <version>4.12</version>
        <!-- 依赖范围:test包下依赖该设置 -->
        <scope>test</scope>
    </dependency>
</dependencies>
<!-- 项目构建配置,配置编译、运行插件等。-->
<build>......</build>
</project>

坐标

Maven世界中有大量的构件,需要唯一标识的坐标就可以找到我们想要的坐标(其原理类似于平面几何中的坐标 x、y进行标识唯一位置的点)

Maven坐标组成部分:

groupId: 当前Maven项目组织名称

artifactId: 实际项目名称

version: 当前项目的版本 或 所依赖jar包的版本

生命周期

Maven拥有三套生命周期,他们相互独立互不干扰

clean 清理项目

阶段说明
pre-clean在实际项目清理之前执行所需的流程
clean删除上一个版本生成的所有文件
post-clean执行完成项目清洁所需的流程

default 构建项目(核心)

阶段说明
generate-resources生成资源以包含在包中
process-resources将资源复制并处理到目的地目录中,准备进行包装
compile编译项目的源代码
test-compile将测试源代码编译到测试目的地目录中
test使用合适的单位测试框架运行测试。这些测试不应要求对代码进行包装或部署
install将封装安装到本地存储库中,以用作本地其他项目的依赖
deploy在集成或发布环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享
······

注意:运行任何一个阶段的时候,它前面的所有阶段都会被运行

site 生成项目站点

阶段说明
pre-site在实际项目站点生成之前执行所需的流程
site生成项目的站点文档
post-site执行完成站点生成和准备站点部署所需的过程
site-deploy将生成的站点文档部署到指定的 Web 服务器

参考文献:http://maven.apache.org/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值