Maven

Posted lshare

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven相关的知识,希望对你有一定的参考价值。

Maven

项目管理工具

  • 构建项目(Builds)
  • 依赖管理(Dependencies)
  • 配置管理(SCMs)
  • 发布管理(Release)
  • 文档编制(Documentation)
  • 报告(Reporting)

特点:

  • 微内核(只解析XML,其他由Maven插件处理)
  • 约定优于配置
  • 定义项目模型

安装:

brew install maven
mvn -version

创建Maven项目

mvn archetype:generate -DgroupId=org.flyne.demo -DartifactId=maven-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
# 这是一个goal

项目结构

maven-demo
|– pom.xml
`– src
|– main
| `– java
|    `– org
|      `– flyne
|        `– demo
|          `– App.java
`– test
`– java
`– org
`– flyne
`– demo
`– AppTest.java

POM文件,项目对象模型(Project Object Model)

项目的核心配置文件

<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.tiantian.mavenTest</groupId>  
  <artifactId>projectB</artifactId>  
  <version>1.0-SNAPSHOT</version>  
  <packaging>jar</packaging>  
   
  <dependencies>  
    <dependency>  
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>3.8.1</version>  
      <scope>test</scope>  
              <optional>true</optional>  
    </dependency>  
  </dependencies>  
</project>  

构建项目

mvn package
# 这是一个phase
mvn compile
# 这也是一个phase,包含如下的阶段:
# 1. validate
# 2. generate-sources
# 3. process-sources
# 4. generate-resources
# 5. process-resources
# 6. compile

Maven常用阶段(phase)

  • validate:验证项目是否正确,所有必须的信息是否可用
  • compile:编译项目的源码
  • test:使用单元测试框架对编译后的源代码逆行测试
  • package:接受编译好的代码,打包成可发布的格式,如jar
  • verify:运行任何检查,验证包是否有效且达到质量标准
  • install:将包安装到Maven本地仓库,供本地其他Maven项目使用
  • deploy:将最终的包复制到远程仓库,供其他开发人员和Maven项目使用
  • clean:清理上一次构建生成的文件
  • site:生成项目站点文档

以上是关于Maven的主要内容,如果未能解决你的问题,请参考以下文章

Mavenmaven简介

mavenmaven jar 包 冲突 的解决方式

Maven实战之初识MavenMaven的简单介绍

MavenMaven四大特性

mavenmaven pom文件详解

mavenmaven各种奇葩问题