目录
认识maven
记得还没有用maven痛苦的时候吗?
全世界各种找jar包,各种报错,版本冲突等等。。。
有了maven,很多问题迎刃而解,有了Spring Boot,更舒服了,很多依赖都整在一个starter了
Spring Boot和maven简直是Java开发的春天,约定大于配置的理念!
两大核心功能
- 管理依赖
- 项目构建
构建
编译、运行单元测试、生成文档、打包部署的流程称为构建
构建工具的存在就是为了让这些工作自动化
其他构建工具
Make,Ant,Gradle
Maven、Ant能做的,Gradle都能做,但是Gradle能做的,Maven、Ant不一定能做
记得之前zookeeper源码就是用Ant构建的
maven规定的代码结构
src/main/java:开发目录
src/test/java:测试目录
严格遵守
在Maven出现之前,Java 项目的目录结构都没有一个统一的标准,配置文件到处都是,单元测试代码到底应该放在哪里,没有一个权威的规范。
maven项目目录一览:
POM
pom是Maven 项目中的基本单元,它是一个 xml 文件,被放在工程根目录下
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">
<modelVersion>4.0.0</modelVersion>
<!-- The Basics -->
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<packaging>...</packaging>
<dependencies>...</dependencies>
<parent>...</parent>
<dependencyManagement>...</dependencyManagement>
<modules>...</modules>
<properties>...</properties>
<!-- Build Settings -->
<build>...</build>
<reporting>...</reporting>
<!-- More Project Information -->
<name>...</name>
<description>...</description>
<url>...</url>
<inceptionYear>...</inceptionYear>
<licenses>...</licenses>
<organization>...</organization>
<developers>...</developers>
<contributors>...</contributors>
<!-- Environment Settings -->
<issueManagement>...</issueManagement>
<ciManagement>...</ciManagement>
<mailingLists>...</mailingLists>
<scm>...</scm>
<prerequisites>...</prerequisites>
<repositories>...</repositories>
<pluginRepositories>...</pluginRepositories>
<distributionManagement>...</distributionManagement>
<profiles>...</profiles>
</project>
pom实例:
<?xml version ="1.0" encoding="UTF-8"?>
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>pers.wmx</groupId>
<artifactId>hello-world</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Hello_World</name>
<description>My First Maven Project</description>
<project>
现在的IDE都完美的集成了maven,我们只用创建maven project,
就会帮我们自动生成项目的目录和基本的pom.xml,我们自行引入依赖即可
maven仓库
对于Maven来说,仓库只分为两类:本地仓库和远程仓库。
当Maven根据坐标寻找构件的时候,它首先会查看本地仓库,如果 本地仓库存在此构件,则直接使用;如果本地仓库不存在此构件,Maven就会去远程仓库查找,发现需要的构件,下载到本地仓库再使用。如果本地仓库和远程仓库都没有,Maven就会报错。
maven还有私服的概念,怎么搭建没有尝试过,不过每个公司一般都会有自己的私服
如果有时间,会尝试搭建一个maven私服,哈哈,不过感觉没什么必要
本周会继续整理3篇maven的基础文章:maven依赖(dependency、dependencyManagement、依赖传递、依赖仲裁),maven生命周期(老大难),maven插件(基础概念和简单实践)
转载请注明:汪明鑫的个人博客 » maven 基本介绍
说点什么
您将是第一位评论人!