[Maven]1,了解以及如何快速运用Maven

转载 2016年05月30日 14:21:29

1,什么是Maven

wikipedia是这样描述的,

Maven is a build automation tool used primarily for Java projects. The word maven means "accumulator of knowledge" inYiddish.[3] Maven addresses two aspects of building software: first, it describes how software is built, and second, it describes its dependencies.

Maven是一个项目构建工具,之前主要用于Java项目,描述了软件如何构建以及他的依赖关系。它包含了项目对象模型(Project Object Model),一组标准稽核,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段中插件目标的逻辑。

Maven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期。即项目的jar包依赖,开发,测试,发布打包

  下面我自己总结一下它的几个特点,看了这些特点,也许对maven有更多的了解。

  1 jar包依赖

  这个也许会maven最突出的特点了使用maven不需要上网单独下载jar包,只需要在配置文件pom.xml中配置jar包的依赖关系,就可以自动的下载jar包到我们的项目中。这样,别人开发或者使用这个工程时,不需要来回的拷贝jar包,只需要复制这个pom.xml就可以自动的下载这些jar包。

  而且,我们自己下载jar包,还有可能造成版本的不一致,这样在协同开发的过程中就有可能造成代码运行的不一致。通过使用maven精确的匹配jar包,就不会出现这种问题了。

  2 项目坐标

  Maven通过特定的标识来定义项目名称,这样既可以唯一的匹配其他的jar包,也可以通过发布,使别人能使用自己的发布产品。这个标识就被叫做坐标,长的其实很普通,就是简单的xml而已:

复制代码
1   <groupId>com.test</groupId>
2   <artifactId>maventest</artifactId>
3   <version>0.0.1-SNAPSHOT</version>
4   <packaging>jar</packaging>
5 
6   <name>maventest</name>
7   <url>http://maven.apache.org</url>
复制代码

  groupId:所述的项目名称,由于有的项目并不是一个jar包构成的,而是由很多的jar包组成的。因此这个groupId就是整个项目的名称。

  artifactId:包的名称。

  version:版本号。

  packaging:包的类型,一般都是jar,也可以是war之类的。如果不填,默认就是jar。

  nameurl,一个是名称,一个是maven的地址。主要就是上面的几个参数。

  当想要依赖什么jar的时候就可以通过下面的方式依赖:

复制代码
1 <dependencies>
2     <dependency>
3       <groupId>junit</groupId>
4       <artifactId>junit</artifactId>
5       <version>3.8.1</version>
6       <scope>test</scope>
7     </dependency>
8   </dependencies>
复制代码

  各个属性的内容基本上都是一样的。

  这里要注意的是jar包的命名规则:

  artifactId-version[-classifier].packaging

  比如上面的pom.xml生成的jar包名字就是:maventest-0.0.1-SNAPSHOT.jar

  这里的classifier是可选的,但是有的项目可能还需要导出附属的一些文件,如javadoc,source等等,那么这个地方就需要配置一个字符串。一般都是JDKXXX之类的。

2,Maven project结构

maven的工程一般都是如下的结构:

复制代码
first_maven  
|-- pom.xml  
`-- src  
    |-- main  
    |   |-- java  
    |   |   `-- com  
    |   |       `-- test  
    |   |           `-- App.java  
    |   `-- resources  
    |       `-- META-INF  
    |           `-- application.properties  
    `-- test  
        `-- java  
            `-- com  
                `-- test  
                    `-- AppTest.java  
复制代码

  pom.xml:用于定义或者添加jar包的依赖

  src-main:用于存放java源文件

  src-test:用于存放测试用例。

  也许工程下还会出现target文件夹,这个是用来生成对应的class文件或发布的jar包

3,Maven常用命令

     Maven Build:

  这个命令用于编译Maven工程,执行命令后会在target文件夹中的classes中生成对应的class文件。

  Maven Clean:

  删除target文件夹,即删除生成的package包以及class等文件。

  Maven Test:

  先自动进行编译,在运行所有的测试用例。

  Maven install:

  发布生成对应的package包。



相关文章推荐

SpringMVC快速入门(1)-使用Maven搭建SpringMVC框架

对于快速入门来说,最简单的方式莫过于先把架子搭起来,然后慢慢的加功能来学习,首先我们使用IDEA来创建一个Maven项目,首先我们创建一个Parent工程来统一管理所有的Demo,方便以后维护 点F...

SpringBoot1-spirng项目快速搭建+maven+spring的基本配置

最近又重新学习了下spring和spring mvc,有一些收获,为了记下这些收获,整理成学习笔记,方便日后在进行复习使用。      spirng使用简单的POJO(plain old java o...

maven快速入门(1)

1.简介 2.配置环境变量 M2_HOME 指向maven的安装目录 path %M2_HOME%\bin3.hello maven maven中默认的目录结...

Spring快速入门教程 - 1 - 使用 Maven 创建工程 - 修改0次

使用 Maven 创建 Java 工程翻译自:http://spring.io/guides/gs/maven/1、将会创建什么教程会一步一步教您用 Maven 创建一个简单的 Java 工程。2、开...

运用Maven3.0.3对项目进行管理(1)

maven3简要介绍和平台搭建     1           简介     可以这样理解:Maven是一个工具,能够用标准的方法构建各个工程,清晰的定义一个工程的组成,能够运用很容易的方...

maven笔记-1-初步了解

1.maven安装配置 2.本地资源库 3.中央存储库 4.创建java项目

Maven课程1

  • 2016年03月30日 20:27
  • 40KB
  • 下载

narayana ws-at maven仓库1

  • 2016年04月09日 22:35
  • 46.95MB
  • 下载

maven学习过程记录——初步1

一、maven准备:     1、下载maven:http://maven.apache.org/download.cgi    最新版本:apache-maven-3.1.1-bin.zip    ...

maven仓库(1)缺少lib

  • 2016年11月10日 15:38
  • 48.08MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Maven]1,了解以及如何快速运用Maven
举报原因:
原因补充:

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