maven(2)------maven构建项目

原创 2017年01月03日 14:33:27

一  下载maven

官网地址: http://maven.apache.org/download.cgi

如图:

可以下载历史版本。


二 windows下maven配置

1. 解压下载后的包,解压后多出一个文件


2. 配置环境变量

“计算机”--》右键,选择--"属性"--》"高级系统设置"--》"高级"--》"环境变量"--》"新建"--》"确定"

注意:

变量名: MAVEN_HOME(名字任意,用大写)

变量值: E:\Java\apache-maven-3.0.5(maven所在目录,禁止使用中文目录)


以上配置完后,还需要配置path路径,找到path,点击编辑,加上%MAVEN_HOME%\bin,如果不是处于结尾,需要加分号' ; '

如果只是配置完MAVEN_HOME,忘记配置path了,如下图进入,需配置path,将%MAVEN_HOME%\bin配置。



3. mvn -v 测试是否配置成功

cmd命令窗口,输入mvn -v,如果出现如下效果,说明maven配置成功。

如图:


4. 将apache-maven-3.3.9\conf下的settings.xml复制到C:\Users\Administrator\.m2下,覆盖掉settings.xml

注: maven默认情况下从C:\Users\Administrator\.m2下的settings.xml文件寻找依赖,如果使用集成工具,

比如eclipse,配置maven时,可以直接使用apache-maven-3.3.9\conf下的settings.xml,就无需使用默认。

maven下settings.xml位置:


.m2下settings.xml位置,同时在该目录下建一个repository作为本地仓库文件,建完后是空的,稍后分析。


三 maven构建项目

以下实例为了更好的分析maven项目结构,未使用集成工具,比如eclipse等。

1. maven项目结构

2. 在windows工作空间新建如下Hello项目

在Hello下,新建src和pom.xml同级:

关于src下的main和test目录如下:

在main的java下,新建com/lanhuigu/maven,以及在test的java下,新建com/lanhuigu/maven文件级别目录

3.  源码创建

在Hello\src\main\java\com\lanhuigu\maven下新建Hello.java文件,

Hello.java内容如下:

  1. package com.lanhuigu.maven;  
  2.   
  3. public class Hello {  
  4.       
  5.     public String sayHello(String name) {  
  6.       
  7.         return name;  
  8.     }  
  9.       
  10. }  

在Hello\src\test\java\com\lanhuigu\maven下新建HelloTest.java文件,

HelloTest.java内容如下:

  1. package com.lanhuigu.maven;  
  2.   
  3. import org.junit.Test;  
  4.   
  5. public class HelloTest {  
  6.       
  7.     @Test  
  8.     public void testHello () {  
  9.         Hello hello = new Hello();  
  10.         String str = hello.sayHello("testMaven");  
  11.           
  12.         System.out.println(str);  
  13.     }  
  14.       
  15. }  

4. pom.xml中内容如下:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"   
  2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  4.     <modelVersion>4.0.0</modelVersion>  
  5.     <groupId>com.lanhuigu.maven</groupId>  
  6.     <artifactId>Hello</artifactId>  
  7.     <version>0.0.1-SNAPSHOT</version>  
  8.     <name>Hello</name>  
  9.       
  10.     <dependencies>  
  11.         <dependency>  
  12.             <groupId>junit</groupId>  
  13.             <artifactId>junit</artifactId>  
  14.             <version>4.10</version>  
  15.         </dependency>  
  16.     </dependencies>  
  17.       
  18. </project>  

以上在工作空间中创建了Hello项目,在Hello下新建了src,pom.xml文件,

在src下建立main,test,分别在main和test下新建java,resources,然后

分别建立文件路径,增加Hello.java和HelloTest.java源码,以及配置pom.xml文件,

如此,Maven项目Hello建立完成。


四 mvn命令使用

1. 命令

常用命令:

mvn compile (编译)

mvn test (运行测试代码)

mvn clean (清除)

mvn install (安装)

mvn package (打包)

组合命令:

mvn clean test

mvn clean install

mvn clean package


2. cd 到Hello项目



3. 执行mvn compile命令,然后等待下载mvn相关jar包,以及pom.xml配置的依赖junit包

一定要保证联网,并且网速别太次,否则下载失败。


下载完成后如下效果:


当mvn compile命令执行完成后,我们可以在Hello项目下看到多了一个target文件:

target里面的内容,一个存放xxx.class字节码文件,一个是maven状态:

这个时候我们再看看C:\Users\Administrator\.m2下的repository文件中多了什么东西?

如下,里面的东西都是mvn compile编译时从网上下载的相关依赖:

我们可以看到,在mvn compile编译的时候,下载的依赖jar包等都在这个仓库中。

既然mvn compile执行完了,再试试mvn test命令,效果如下:

Hello项目下target包内容:


我们也可以执行mvn package命令打包,注意观察Hello下的target目录文件的变化,

java项目生成jar包,如果是web项目,生成war包。

五 maven依赖分析

以上我们完成了maven项目创建,可以通过命令编译,调用测试代码,打包等。

我们还需要分析以下几个问题:

1. 为什么默认情况下使用的是C:\Users\Administrator\.m2下settings.xml文件,

而不是E:\java\apache-maven-3.3.9\conf下的settings.xml文件,

依赖jar包下到了C:\Users\Administrator\.m2\repository中,而不是别的地方??

在settings.xml文件中,打开,可以看到如下内容:


如果不指定本地仓库位置,默认使用位置为${user.home}/.m2/repository,所以就是我们一直讨论的c盘下.m2文件下。

如果我们不想把仓库放在.m2下,我们需要做这样的配置:



2. pom.xml中的配置都是什么含义?


3. 为什么在HelloTest.java中能够使用@Test测试代码,也就是怎么使用上junit包的?

在HelloTest.java中,@Test引用的是import org.junit.Test;导入的是junit包,

程序运行时,根据pom.xml中

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>
</dependencies>

groupId+artifactId+version从.m2/repository仓库中找到junit-4.10.jar包。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Maven2之旅 构建项目 文档编制

  • 2011年05月19日 08:41
  • 2.47MB
  • 下载

在eclipse中使用m2e构建maven项目-可能遇到的问题

在eclipse中使用m2e构建maven项目-可能遇到的问题 1、eclipse中下载m2e插件 请参考   http://blog.csdn.net/bestcxx/article/detai...
  • bestcxx
  • bestcxx
  • 2016年08月07日 20:58
  • 1012

Maven构建真正的J2EE项目

今天同事问起我目前用Maven构建的多模块项目架构和以前用Eclipse创建的Web项目的问题,下面将讲一下使用maven搭建多模块的J2ee项目,以及采用这种方式搭建项目对日后项目的水平拆分和垂直拆...

项目构建之maven篇:3.m2eclipse使用

m2eclipse使用

项目构建之maven篇:5.仓库及nexus创建私服-2

下载安装 下载地址 修改默认端口: home\conf\nexus.properties # Sonatype Nexus # ============== # This is ...

Maven - 构建Struts2项目

1、MyEclipse设置本地Maven及仓库 2、新建Web Project 3、修改pom.xml 删除原有pom.xml内容,添加如下struts依赖 proj...

使用Maven构建Struts2项目

1. Struts2的安装配置 1.1下载 进入apache的官方网:http://struts.apache.org/download.cgi#struts2316下载struts2的GA完整版...

eclipse构建maven project 的web项目,不勾选Create a simple project 。 < =2= >

eclipse构建maven project  的web项目,不勾选Create a simple project 。 1、开启eclipse,右键new——》other,如下图找到mav...

J2EE:项目管理和构建工具--maven

maven是优秀的项目管理和构建工具,能让我们更为方便的来管理和构建项目 唯快不破–maven快速入门maven 目录结构与配置Maven 是基于项目对象模型(POM),可以通过一小段描述信息来管理项...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:maven(2)------maven构建项目
举报原因:
原因补充:

(最多只允许输入30个字)