2018.4.16
首先在入门之前,我们需要了解Maven。
1. Maven模型
图片来自网络
Maven基础概念
- Project:任何你想构建的事务,Maven都可以认为他们是一个工程,这些工程被认定为工程模型对象(Project Object Model,POM)。一个工程可以依赖其他工程,一个工程也可以由多个子工程构成。
- POM: POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元数据文件,类似于Ant中的build.xml文件。POM文件位于每一个工程的根目录中。
- GroupId:GroupId是一个工程在全局中的唯一标识符,一般的,他就是工程名。它有利于使用一个完全的包名将一个工程从其他由类似名称的工程中区别出来。
- Artifact:中文名,构件。是工程将要产生或需要使用的文件,它可以是.jar文件、源文件、二进制文件、.war文件,甚至是.pom文件。每个Artifact都由GroupId和Artifact组合的标识符唯一识别。需要被使用的Artifact都要放在Repository中,否则Maven就无法找到他们。
- Dependency:为了能够构建或换行,一个典型的Java工程会依赖其他包。Dependency一般是其他工程的Artifact。
- Plug-in:可以说Maven就是一堆插件的集合,他的每一个功能都是由插件完成的,插件提供goal,并根据在POM中找到的元数据去完成工作。
- Repository:仓库,放置Artifact的地方,有中央仓库、公共仓库、私有仓库、本地仓库之分,一般为了提高下载速度,都会有一个私有仓库。
<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>springdemo</groupId>
<artifactId>springdemo1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springdemo1</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Spring Core -->
<!-- http://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
<!-- Spring Context -->
<!-- http://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
</dependencies>
</project>
这是一段我之前做demo时候写的pom.xml文件。