这篇文章将带我们去了解如何通过maven来构建自己的第一个项目
什么是maven?
Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成该项目的基础设施建设时间几乎没有,Maven使用标准的目录结构和默认构建生命周期。
在多个开发团队环境的情况下,Maven可以设置在上班的路上在很短的时间内为标准。由于大部分的项目设置简单可重复使用,Maven的生活的开发容易,而创建报告,检查,生产和测试的自动化设置。
Maven提供了开发人员的方式来管理下面:
Builds
Documentation
Reporting
Dependencies
SCMs
Releases
Distribution
mailing list
概括地说,Maven的简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。
Maven历史
Maven的最初设计,以简化Jakarta Turbine项目的建设进程。有几个项目,每个项目包含了稍微不同的Ant构建文件。 JAR中检查到CVS。
Apache组织开发的Maven可以建立多个项目,发布项目信息,项目部署,在几个项目中的份额JAR文件中的团队合作和帮助。
Maven目标
Maven主要目标是提供开发人员
项目是可重复使用,易维护,更容易理解的一个综合模型。
插件或交互的工具,这种声明性的模式。
Maven项目的结构和内容是在一个XML文件中声明,pom.xml的项目对象模型(POM),这是整个Maven系统的基本单元。有关详细信息,
请参阅Maven POM的部分.
约定优于配置
Maven的使用约定优于配置,这意味着开发者不需要创建构建过程本身。
开发人员不必提到的每一个配置的详细信息。Maven提供了合理的默认行为的项目。创建一个Maven项目时,Maven创建默认的项目结构。开发者只需要把相应的文件和他/她需要在pom.xml中定义的任何配置。
作为一个例子,下表列出了项目的源代码文件,资源文件和其他配置的默认值。假设${basedir}表示项目位置:
Item Default
source code
basedir/src/main/javaresources
{basedir}/src/main/resources
Tests
basedir/target/classesCompliedbytecode
{basedir}/src/test
distributable JAR ${basedir}/target
为了建设该项目,Maven提供了开发人员,,何况生命周期的目标和项目的依赖(依赖于Maven的插座能力,并在其默认的约定)。大部分的项目管理,并建立相关的任务,是维护Maven插件。
开发人员可以构建任何给定的Maven项目,而不需要了解个人的插件工作。有关详细信息,请参阅Maven的Plug-ins部分。
通过Hello World来解释如何构建maven
1.下载maven
选择apache-maven-3.5.0-bin.zip进行下载
2.配置maven环境变量
在path中
项目的目录结构:
目录结构:
boot目录包含一个类加载器框架
bin目录包含mvn的运行脚本
config目录包含配置文件
lib目录包含mvn使用的类库
maven项目的目录结构:
src
-main
-java
-package(自定义的包)
-test
-java
-package
-resources(存放一些资源文件)
两个不同路径的java文件
mian下面的HelloWorld.java
package com.imooc.maven01.model;
public class HelloWorld {
public String sayHello() {
return "Hello Maven!";
}
}
test下面的HelloWorldTest.java
package com.imooc.maven01.model;
import org.junit.*;
import org.junit.Assert.*;
public class HelloWorldTest {
@Test
public void testHello() {
Assert.assertEquals("Hello Maven!", new HelloWorld().sayHello());
}
}
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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 项目包名 -->
<groupId>com.imooc.maven01</groupId>
<!-- 项目名 -->
<artifactId>maven01_model</artifactId>
<version>0.0.1SNAPSHOT</version>
<dependencies>
<dependency>
<!-- 项目包名 -->
<groupId>junit</groupId>
<!-- 项目名 -->
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies>
</project>
通过cmd运行maven:mvn compile
在第一次运行中,会自动下载maven所需的三方库包
项目编译成功:
编译成功后就会在项目中生成一个target目录 其中的classes文件夹就是编译出来的class文件
运行测试用例:mvn test
这个代码就是用来进行@test的一个测试用例的运行
会在项目的target中生成一个test-classes:里面包含了含test的class文件:
通过mvn package进行一个项目的jar包生成:
通过这个代码能将项目构建成一个jar文件:
那么通过这些我们就了解了 如何初步对于maven的项目构建