`
sgl124764903
  • 浏览: 174602 次
  • 性别: Icon_minigender_1
  • 来自: 邯郸
社区版块
存档分类
最新评论

Maven教程初级篇01: 简介

 
阅读更多

1. Maven的出发点

在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编程语言,我们 都要重复相同的开发步骤:编码,测试,打包,发布,文档。实际上这些步骤是完全重复性的工作。那为什么让软件开发人员去重复这些工作?开发人员的主要任务 应该是关注商业逻辑并去实现它,而不是把时间浪费在学习如何在不同的环境中去打包,发布,。。。

Maven正是为了将开发人员从这些任务中解脱出来而诞生的。


2. Maven能做什么?

 Maven是由早期为Jakarta Turbine定制的构建工具发展而来的,现在成为了一个独立的软件项目管理工具。Maven能够:

1)理解并管理整个软件开发周期,重用标准的构建过程,比如:编译,测试,打包等。同时Maven还可以通过相应的元数据,重用构建逻辑到一个项目。

2)Maven负责整个项目的构建过程。开发人员只需要描述项目基本信息在一个配置文件中:pom.xml。也就是说,Maven的使用者只需要回答“What”而不是“How”。


3. Maven并不只是一个构建工具,她还可以提供:

1)声明式依赖性管理

2)集中的组件库管理

3)文档的自动生成

4)报告的自动生成

4. Maven设计原则

 1)Convention Over Configuration (约定优于配置)。在现实生活中,有很多常识性的东西,地球人都知道。比如说:如何过马路(红灯停绿灯行),如何开门,关门等。对于这些事情,人们已经有了默认的约定。

在软件开发过程中,道理也是类似的,如果我们事先约定好所有项目的目录结构,标 准开发过程(编译,测试,。。。),所有人都遵循这个约定。软件项目的管理就会变得简单很多。在现在流行的很多框架中,都使用了这个概念,比如EJB3和 Ruby on Rails。在Maven中默认的目录结构如下:


由上图可以看出以下几个标准的Maven目录:

  • src:源代码目录。所有的源代码都被放在了这个目录下。在这个目录下又包括了:

          1) main:所有的源代码放在这里。对于Java项目,还有一个下级子目录:java. 对于Flex项目则是flex,。。。

          2) test:所有的单元测试类放在这里。

  • target:所有编译过的类文件以及生成的打包文件(.jar, .war, ...)放在这里。

2)Reuse Build Logic (重用构建逻辑):Maven把构建逻辑封装到插件中来达到重用的目的。这样在Maven就有用于编译的插件,单元测试的插件,打包的插件,。。。Maven可以被理解成管理这些插件的框架。
3)Declarative Execution (声明式执行):Maven中所有的插件都是通过在POM中声明来定义的。Maven会理解所有在POM中的声明,并执行相应的插件。

5. 创建一个Maven项目

1) 下载Maven:http://maven.apache.org/

2) 解压缩下载的zip文件到本地目录下,比如:D:\Maven

3) 添加D:\Maven\bin到环境变量PATH中

4) 在命令行下运行: 

mvn -version  或者 mvn -v

你应该看到如下图所示的Maven版本号:

5) 运行如下命令创建一个Maven项目:

mvn archetype:create -DgroupId=net.jianxi.tutorials -DartifactId=helloworld -DpackageName=net.jianxi.tutorials

该项目的目录结构如下图所示:

现在就可以运行一些Maven命令了

编译: mvn compile

单元测试: mvn test

构建并打包: mvn package

清理: mvn clean

安装 mvn clean install

 

转载自:
http://www.cnblogs.com/dcba1112/

分享到:
评论

相关推荐

    Java架构师之路系列教程

    1.初级篇-Java编程思想(初、中、高),J2SE高级讲解和应用 2.进阶篇-Eclipse教程、Spring教程、设计模式等 3.高级篇-单点登录,Groovy视频,性能优化,Maven,Mongodb,Redis,Spring Security,Spring 源码,JVM,...

    Redis初级案例(推荐)

    在阅读这篇教程时,你将学习到以下内容: 1. 添加Jedis依赖:在Maven或Gradle项目中,需要引入Jedis的依赖库。 2. 配置Redis连接:创建Jedis实例,设置服务器地址、端口、密码(如果有的话)等参数。 3. 使用Jedis...

    零基础学习hadoop(编程篇).pdf

    9. **Hadoop学习资源**:文中推荐了一些基础学习材料,如零基础学习Hadoop到上手工作线路的初级和中级篇,以及使用Eclipse创建项目和编写小程序的教程,这些都是逐步深入Hadoop编程的重要参考资料。 总的来说,学习...

    Java 学生信息管理系统的构建与实现

    内容概要:本篇文章详细介绍了如何利用 Java 构建学生信息管理系统,该系统具备添加、删除、查询和列出学生信息等功能。文章通过逐步指导开发者从项目搭建、类定义到具体业务逻辑实现,确保了对 Java 标准库及文本...

    每个程序员都应该看看的

    基于以上信息,我们可以推测这份资料重点是关于Java编程的基础知识,对初级到中级的Java程序员都具有指导价值。下面将详细讨论Java编程的一些关键知识点: 1. **Java语言基础**:Java是一种强类型、面向对象的编程...

Global site tag (gtag.js) - Google Analytics