Maven

Posted 搜狗测试

tags:

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



一、Maven简介

<groupId>org.springframework</groupId>项目名

<artifactId>spring-webmvc</artifactId>项目模块<version>3.0.5.RELEASE</version>项目版本

maven都会通过:项目名-项目模块-项目版本,在互联网上的代码库中下载相应jar包。 

下载依赖:在maven的代码库中,每一个jar包也有自己的pom.xml文件,而这个文件里面也会有<dependency>配置,配置的jar包所依赖的其他jar包都会被maven自动下载下来。 

二、Windows环境下Maven的安装和配置

1、检查JDK安装 
在安装Maven之前,受限要确认已经正确安装了JDK。Maven可以运行在JDK1.4及以上版本。 

项目

要求

JDK

Maven 3.3 要求 JDK 1.7 或以上
Maven 3.2 要求 JDK 1.6 或以上
Maven 3.1 要求 JDK 1.5 或以上

打开Windows的命令行:

(1)运行echo %JAVA_HOME%命令,检查环境变量是否指向了正确的JDK目录

Maven

(2)运行java-version命令,尝试运行java命令

Maven

Maven

接着在系统变量,找到Path变量,添加字符串“%MAVEN_HOME%\bin”到系统Path变量末尾(注:多个值之间分号隔开),点击确定。 
打开Windows的命令行:

(1)运行echo %MAVEN_HOME%命令,检查环境变量是否指向了正确的Maven目录

Maven

(2)运行mvn-v命令,执行一条maven命令,检查Windows是否能找到正确的mvn执行脚本

Maven

三、创建Maven项目

以eclipse为例 
File->New->Project,对话框中,选择Maven下面的Maven Project,点击Next。

Maven

在弹出的对话框中,选择默认(不要选择create a sample Project,那样我们就能使用Maven Archetype),点击Next,此时m2eclipse会提示我们选择一个Archetype,这里我们选择一个Archetype,这里选择maven-archetype-quickstart,点击Next按钮。Maven

输入groupId、artifactId、version、package。


groupId为程序包名,artifactId为程序名,至此,工程创建完成。

四、编写POM

    POM(Project object Model项目对象模型),定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等。Maven项目的核心是pom.xml。 
    打开pom.xml添加测试项依赖库,配置工程,示例:

<?xml version="1.0"?>
<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>
   <parent>
       <groupId>com.sogou.map</groupId>
       <artifactId>parent</artifactId>
       <version>2</version>
   </parent>

   <groupId>com.sogou.com</groupId>
   <artifactId>kubbo-nav</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <packaging>jar</packaging>
   <name>kubbo-nav</name>
   <url>http://maven.apache.org</url>
   <properties>
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>

   <dependencies>
       <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.12</version>
           <scope>test</scope>
       </dependency>
       <dependency>
           <groupId>com.sogou.map</groupId>
           <artifactId>kubbo-all</artifactId>
           <version>0.8</version>
       </dependency>
   </dependencies>
</project>

    代码的第一行是XML头,指定了该xml文档的版本和编码方式。 
    紧接着是Project元素,Project是所有pom.xml的根元素,声明了一些pom相关的命名空间及xsd元素。 
    根元素下的第一个子元素,modelVersion指定了当前的pom模型的版本。 
    最重要的是包含groupId、artifactId、version的三行,定义了项目基本坐标,在maven中,任何的jar、pom或者war都是以基于这些基本坐标进行区分的。 
a) groupId:定义了项目属于哪个组,这个组往往和项目所在组织或者公司有关。 
b) artifactId:定义了当前的maven项目在组中唯一的ID。 
c) Version:指定了项目当前的版本。 
    Maven能让项目对象模型最大程度的与代码相对独立,解耦,很大程度避免Java代码和POM代码的项目影响。 
    Maven项目默认的主代码目录是src/main/java,对应的默认测试代码目录是src/test/java。 

    项目中,使用Junit进行单元测试,首先要为项目添加Junit依赖,修改项目的POM代码。

    <dependencies>
       <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.12</version>
           <scope>test</scope>
       </dependency>
   </dependencies>

    代码中添加了dependencies元素,该元素下可以包含多个dependency元素以声明项目依赖。

    这里添加了一个依赖,groupId是junit,artifactId是junit,version是4.1.2。groupId、artifactId、version,是项目的基本坐标,有了这段声明,maven就能自动下载Junit-4.12.jar包。


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

Spring+SpringMVC+MyBatis+Maven框架整合

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段

如何在 Apache Felix maven-bundle-plugin 中设置 Provide-Capability 标头?

Maven FTP部署:无法创建目录

如何从詹金斯访问maven属性?

向小军 “小黑” 正式加入 Maven Skateboards