`
jayghost
  • 浏览: 441882 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

【转】使用Maven

 
阅读更多

 

本文目的

让未使用过maven的开发者尽快上手。

讲解我们在项目中日常使用的maven技术和知识。

注意事项

maven和subversion是项目开发的基础技术,每一个项目组成员都必须会使用的。二者的结合使用可以瞬间搭建起和开发同伴一样的软件和项目环境。建议学习maven前需要先掌握使用Subversion

什么是自动构建工具

自动构建对应的是手动构建。

什么是手动构建,就是比如通过javac等工具编译打包程序。使用IDE工具一般也属于手工构建,比如通过点击菜单项编译和打包程序。

自动构建一般会有一个脚本,直接运行这个脚本,就可以用批处理的方式而不是交互的方式编译、构建和打包程序,甚至可以包括测试和生成程序文档。

为什么要使用自动构建工具

如果只是个人开发的小程序,未必需要自动构建工具,通过IDE工具比如eclipse可以简单快速的开发程序。

但是当多人开发复杂应用程序的时候,自动构建就是十分必要的了。比如,网管在外网服务器端部署java程序,首先网管不会用java ide工具,另外,很多外网的生产用服务器没有图形界面。这时候就需要使用自动构建工具。

以下列出使用自动构建工具的理由:

  • 在非图形化界面下构建程序;
  • 构建过程繁琐而且步骤固定,自动构建工具比交互式的手动构建省事省心;
  • 多人分别为同一个项目工作,需要有统一和一致的构建环境,比如类库依赖。

Maven和其他自动构建工具的比较

比较知名的构建工具:make、ant、maven。

make是类unix下强大的自动构建工具,ant和maven是java编写的用于自动构建(不限于java语言)的工具。

ant正在逐渐被maven取代,很多开源软件用maven替代了ant,比如hibernate和spring。

maven比ant强大在于:

  • 不需要写复杂的处理脚本;
  • 声明式的类库依赖管理。

近来,ant借助ivy和maven的资源库也可以做到声明式类库依赖。

触摸Maven

想要学习一门技术,就需要能尽快触摸到它。下面用最简单的示例展示maven的使用。

TODO,第一个示例,普通java程序:

  1. 通过svn下载一个java代码分支1.0,带main方法的helloworld即可,放在googlecode easymorse项目中;
  2. 编译和打包项目;
  3. 导入eclipse;
  4. 增加一个项目分支1.1,用main方法调用一个示例类,类有一个实例方法,输入一个Date对象,返回一个“xx年xx月xx日”,演示svn版本分支切换功能,切换到这个分支上来,这里顺便复习一下svn;
  5. 为1.1版本生成javadoc;
  6. 为1.1版本增加测试代码,并执行打包,演示自动递归测试;
  7. 为1.1版本生成web site,并部署到dev上,演示生成web站的能力,并且能列出开发人员等信息;
  8. 将jar文件部署到easymorse的资源库当中;
  9. 再编写一个项目(也放到easymorse的googlecode)引用此类库,演示类库依赖管理。

TODO,第二个示例,web应用:

  1. 编写一个helloworld web项目,提交到googlecode;
  2. svn下载这个版本,使用jetty和tomcat直接运行程序;
  3. 将程序导入到eclipse中;
  4. 程序远程部署到tomcat上去。

TODO,可选,自动生成数据库结构和记录。

Maven的基本功能

结合上面演示的示例,列出maven的基本功能如下:

  • 构建:比如生成class、jar、war或者ear文件;
  • 生成文档:比如生成javadoc、网站文档;
  • 生成报告:比如junit测试报告;
  • 生成依赖类库:生成文档,说明项目多其他软件的依赖;
  • 有关SCM:SCM(Software Configuration Management),软件配置管理,比如版本控制,比如bug管理等等;
  • 发布:生成供发布的分发包,比如生成Struts2的分发包,供提交给用户使用;
  • 部署:比如,web应用程序,自动部署到指定的服务器上。

Maven资源

Maven的基本结构

分享到:
评论

相关推荐

    chm版本Maven教程

    使用Maven创建Web应用程序项目 Maven POM Maven 构建生命周期 Maven 构建配置文件 Maven存储库 Maven插件 Maven创建Java项目 使用Maven构建和测试Java项目 Maven外部依赖 Maven项目文档 Maven项目模板 Maven快照 ...

    Maven详尽教程之doc版

    【Maven详尽教程之doc版】文档主要涵盖了Maven的基本概念、资源、与Ant的区别、功能、安装配置以及基本使用方法。以下是这些知识点的详细解释: 1. Maven简介: Maven是一个用Java编写的自动化构建工具,主要用于...

    maven项目转换WEB项目

    在IT行业中,Maven是一个广泛使用的构建自动化工具,主要用于Java项目的管理。它的核心功能包括项目的构建、依赖管理和项目信息管理。然而,对于习惯于使用Eclipse IDE开发Web项目的开发者来说,Maven项目可能会显得...

    maven安装与使用

    - **仓库**:Maven使用仓库来存储和管理构件。本地仓库存储本地开发过程中使用的构件,而中央仓库则包含了大量公共可用的构件。 - **依赖管理**:Maven通过依赖管理系统自动解析和下载项目所需的第三方库。 - **中央...

    maven工程转web工程

    在Java开发领域,Maven是一个广泛使用的构建工具,它能够帮助开发者管理项目依赖、构建工件以及执行自动化测试。然而,有时我们可能需要将一个普通的Maven工程转换为Web工程,以便于部署到Web服务器上运行。这个过程...

    使用maven构建springMVC项目

    ### 使用Maven构建SpringMVC项目的详细步骤及关键知识点 #### 标题解析与核心知识点说明 - **标题**:“使用maven构建springMVC项目” - **核心知识点**:本篇文章主要围绕如何利用Maven工具来搭建SpringMVC框架...

    springboot(web项目,非maven)

    标题中的“springboot(web项目,非maven)”指的是一个基于Spring Boot框架构建的Web应用程序,但它不是使用Maven作为构建工具。Spring Boot简化了Java Web应用的开发过程,提供了快速构建可运行的应用程序的方式,而...

    IntelliJ IDEA将导入的项目转成maven项目

    首先,当您导入一个项目时,如果它不是以Maven项目的形式存在,可能会遇到一些问题,例如无法直接使用Maven的特性进行构建或部署到服务器(如Tomcat)。为了解决这个问题,我们需要将项目转换为Maven项目。以下是...

    eclipse+egit安装使用+maven安装项目搭建

    三、Dynamic Web project 转成 Maven 项目 161、新建 Dynamic Web Project 若已有 Dynamic Web Project,可以将其转换为 Maven 项目。右键点击项目,选择 Configure > Convert to Maven Project。 四、Git 安装和...

    使用Eclipse构建Maven项目 配套示例项目源码

    在本文中,我们将深入探讨如何使用Eclipse IDE创建和管理Maven项目,同时结合"使用Eclipse构建Maven项目.pdf"中的配置示例项目源码,来进一步理解这个过程。Maven是一个强大的Java项目管理和构建工具,而Eclipse是广...

    使用Eclipse构建Maven项目.pdf

    在使用Eclipse构建Maven项目的过程中,涉及到的知识点主要集中在Eclipse集成环境配置、...上述内容涵盖了从环境搭建到项目构建和发布的基本步骤,对于想要掌握Eclipse中Maven使用方法的开发者而言,提供了详尽的指导。

    maven使用指南

    **Maven 使用指南** Maven 是一个强大的项目管理和构建工具,尤其在Java开发领域中广泛使用。它通过统一的构建过程和项目配置,使得开发者能够更有效地管理依赖、构建工件以及执行各种生命周期阶段。 ### Maven 的...

    ant与maven使用指导

    ant学习指导文档 maven配置 maven常见问题问答 对于初学或想深入了解maven的童鞋以指导

    maven项目转动态web项目,部署到tomcat

    这一步骤将使得项目能够使用 Maven 的依赖管理功能。 步骤 3: 转换为动态 Web 项目 右键点击项目,然后选择"Properties"-"Project Facets"-"Modify",在弹出的面板中,选择"Java"和"Dynamic Web Module",然后点击...

    File 转 MultipartFile 和MultipartFile的maven配置

    以上就是关于`File`转`MultipartFile`的转换过程以及相关Maven配置的详细说明。在实际应用中,你可能还需要考虑错误处理、文件大小限制、文件类型检查等细节,以确保文件上传的稳定性和安全性。希望这些信息对你有所...

    汉字转拼音非maven版含jar包.zip

    这个"汉字转拼音非maven版含jar包.zip"压缩文件提供了一个无需Maven依赖的解决方案,它包含了一个可以直接使用的Java库,方便开发者在不使用Maven构建系统的项目中集成汉字转拼音的功能。 首先,我们要理解什么是...

    如何在eclipse jee中创建Maven project并且转换为Dynamic web project

    在Eclipse JEE环境下,创建一个Maven项目并将其转换为Dynamic Web Project是开发Java Web应用程序的常见步骤。Maven是一种强大的项目管理工具,而Dynamic Web Project则是Eclipse中的一个特殊项目类型,专用于Web...

    apache-maven-3.8.6-bin.zip

    Apache Maven。...转到Apache Maven,然后从左侧栏中的“获取Maven”部分,单击“下载”链接。 下载适合您平台的安装程序。例如,我正在下载.zip文件。撰写本文时,最新版本是Maven 3.1.0(apache-maven-3.

    maven使用文档

    ### Maven使用文档知识点详解 #### 一、Maven概述 **Maven定义:** Maven是由Apache基金会维护的一款开源项目管理工具。它基于项目对象模型(Project Object Model, POM)的概念,允许开发者通过一个中心文件(即...

    阿里云maven 3.6.3稳定版

    阿里云Maven 3.6.3稳定版是一款专为开发者设计的软件构建工具,尤其适合在中国境内的用户使用。Maven是Java开发中的一个重要组件,它自动化了项目的构建、依赖管理和项目信息管理,极大地提高了开发效率。Maven通过...

Global site tag (gtag.js) - Google Analytics