Maven简介

  • Post author:
  • Post category:其他




Maven

Maven是基于POM(project object model)的一个强大的项目管理工具。

Maven帮助进行:

  • Builds
  • Documentation
  • Reporing
  • SCMs
  • Release
  • Distribution


What is build tool

?

  • 生成源代码(如果使用自动生成的代码)
  • 由源码生成文档
  • 编译源码
  • 把编译后的代码打包为JAR或ZIP文件
  • 在本地存储库、服务器存储库或中央存储库中安装打包的代码



Repository

Maven的仓库是带有

pom.xml

文件的打包JAR文件目录。Maven在仓库中寻找依赖。

Maven查找仓库的顺序:

maven repositories

如果没有都没找到,Maven会停止处理并且报错。



Local Repository

本地仓库顾名思义在电脑本地文件中。这个路径可以在Maven的

setting.xml

文件中配置。

<localRepository>D:\Program Files\repository</localRepository>

修改此标签内的内容即可



Central Repository

Maven的

中央存储库

由Maven社区创建。通过

这个

可以查看中央存储库有哪些库。



Remote Repository

很多时候中央存储库没有我们需要的库,这时我们需要自己在

pom.xml

文件中定义远程仓库。

以添加

jUnit

库为例

<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>com.Richard.application1</groupId>  
  <artifactId>my-application1</artifactId>  
  <version>1.0</version>  
  <packaging>jar</packaging>  
  
  <name>Maven Quick Start Archetype</name>  
  <url>http://maven.apache.org</url>  
  
  <dependencies>  
    <dependency>  
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>4.8.2</version>  
      <scope>test</scope>  
    </dependency>  
  </dependencies>  
  
</project>  



Maven

pom.xml

文件

POM是project object model的缩写。

pom.xml

文件包含项目信息和 maven 构建项目的配置信息,例如依赖项、构建目录、源目录、测试源目录、插件等。POM是Maven对单一项目的描述。POM是Maven的核心。是POM实现的并驱动了这种以模型来描述的构建方式。




pom.xml

中的Elements

Elements 描述
project
pom.xml

的根元素
modelVersion
project

的子元素。指定POM的版本信息。应该被设置为

4.0.0
groupId
project

的子元素。指定project group的id
artifactId
project

的子元素。它指定artifact project的 id。Artifact指一个项目产生或使用的东西。Maven 为项目生成的artifact示例包括:JAR、源代码和二进制发布包以及 WAR。
version
project

的子元素。它指定给定group下artifact的版本。
packaging 定义包的类型,例如 jar、war 等。
name 定义 Maven 项目的名称。
url 定义项目的网址
dependencies 定义此项目的依赖项。
dependency 定义一个依赖。它在依赖项中使用。
scope 定义此 Maven 项目的范围。可以是

compile

,

provided

,

runtime

,

test

,

system

例子:

<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>com.Richard.application1</groupId>  
  <artifactId>my-application1</artifactId>  
  <version>1.0</version>  
  <packaging>jar</packaging>  
  
  <name>Maven Quick Start Archetype</name>  
  <url>http://maven.apache.org</url>  
  
  <dependencies>  
    <dependency>  
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>4.8.2</version>  
      <scope>test</scope>  
    </dependency>  
  </dependencies>  
  
</project>  

参考链接:

Maven



版权声明:本文为klscer原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。