您的位置:首页 > 其它

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

2014-10-18 00:54 274 查看


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

项目构建
清理à编译à测试à报告à打包à部署
理想的项目构建:
高度自动化
跨平台
可重用的组件
标准化的
依赖管理
工程的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>
工程的名字
 
    <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>
 

C在src/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命令,查看根目录变化



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: