2.Maven特点,Maven约定,建立第一个Maven项目

Posted zhchoutai

tags:

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

??

1 Maven是跨平台的项目管理工具。主要服务于基于java平台的项目构建,依赖管理和项目信息管理。

项目构建

清理à编译à測试à报告à打包à部署

理想的项目构建:

高度自己主动化

跨平台

可重用的组件

标准化的

依赖管理

project的jar包的管理

要进行依赖管理的原因

自己主动下载

统一依赖管理

项目信息管理(包含)

项目名称描写叙述等

开发者信息

开发人员信息等

2 Maven的特点

A拥有约定。知道你的代码在哪里,放到哪里去

B拥有一个生命周期。比如运行mvn install就能够自己主动运行编译,測试,打包等构件过程。

C仅仅须要定义一个pom.xml,然后把源代码放到默认的文件夹,Maven帮你处理其它事情。

3 Maven约定

A src/main/java –存放项目的.java文件

B src/main/resources –存放项目资源文件。比方spring,hibernate配置文件

C src/test/java –存放全部測试.java文件,比方JUnit測试类

D src/test/resources ---測试资源文件

E target ---项目输出位置,编译完毕后的东西放到这里面

F pom.xml

pom.xml文档结构说明

<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>cn.toto.maven</groupId>

包名

 <artifactId>Hello</artifactId>

项目中主类的名

 <version>0.0.1-SNAPSHOT</version>

主类的版本号

 <name>Hello</name>

project的名字

 

    <dependencies>

项目依赖

      <dependency>

依赖

          <groupId>junit</groupId>

依赖的东西,表示依赖junit

          <artifactId>junit</artifactId>

 

          <version>4.9</version>

 

          <scope>test</scope>

 

      </dependency>    

 

   </dependencies>

 

</project>

 

 

4新建一个Maven项目

G:\maven下创建一个Hello项目

A  Maven约定的文件夹结构。并实际创建:

Hello

--src

------main

-------------java

-------------resources

------test

-------------java

-------------resources

--target

--pom.xml

B在项目Hello根文件夹建立pom.xml

<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>cn.toto.maven</groupId>

 <artifactId>Hello</artifactId>

 <version>0.0.1-SNAPSHOT</version>

 <name>Hello</name>

 

        <dependencies>

                  <dependency>

                           <groupId>junit</groupId>

                           <artifactId>junit</artifactId>

                           <version>4.9</version>

                           <scope>test</scope>

                  </dependency>                 

                  

        </dependencies>

</project>

 

Csrc/main/java/cn/toto/maven文件夹下新建文件Hello.java

package cn.toto.maven;

 

public class Hello {

        

        public String sayHello(String name){

        

                  return "Hello "+name+"!";

 

        }

 

}

D/src/test/java/cn/toto/maven文件夹下新建測试文件HelloTest.java

package cn.toto.maven;

 

import org.junit.Test;

import static junit.framework.Assert.*;

 

public class HelloTest {

 

   @Test

   public void testHello(){

      

      Hello hello = new Hello();

      String results = hello.sayHello("litingwei");

      assertEquals("Hello litingwei!",results);    

 

   }

   

}

 

E使用maven

a) 打开cmd命令行,进入Hello项目根文件夹运行mvn compile命令。查看根文件夹变化

技术分享

在连网的情况下。假设没有对应的依赖的jar,它会自己主动从网上下载

技术分享

b) cmd中继续录入mvn clean命令。然后再次查看根文件夹变化(发现target文件夹不见了)

技术分享

c)cmd中录入 mvn compile命令,查看根文件夹变化

d)cmd中录入 mvn test命令。查看根文件夹变化

技术分享

e)cmd中录入 mvn package命令,查看根文件夹变化

技术分享

 

以上是关于2.Maven特点,Maven约定,建立第一个Maven项目的主要内容,如果未能解决你的问题,请参考以下文章

Maven

Maven

MAVEN

maven的介绍以及使用

5Maven

maven 你应该懂得那些事