第1章 maven概览及快速入门

第1章 maven概览及快速入门

本章以尽可能简单、通俗易懂的语言介绍了maven,以及maven的安装和入门操作命令。

1.1 什么是maven

比较正式语言:

  • maven是一个项目构建工具,能够帮我们自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署;
  • maven不仅是构建工具,还是一个依赖管理和项目信息管理工具.还提供了中央仓库,能帮我们自动下载依赖包。

通俗讲:
- maven可以帮你编译和打包(当然ant也可以,但maven更简单),也可以帮你自动导入jar包,还能完成自动化工作。

1.2 为什么要用maven

  • 与ant相似,可以实现一键编译打包功能,但命令更简洁。
  • 再也不用去到处找jar包。
  • 再用不用考虑引用xx包还要引入他的依赖包。
  • 有自己的“私服”。
  • maven有很多的plugin,可以有更多功能,没使用过没关系,后面章节会将。

总之优点很多,慢慢道来。

1.3 Linux环境安装maven

1.3.1 前置条件

操作系统:CentOS release 6.7 (Final); 查看命令:cat /etc/issue

JDK版本:JDK1.7;查看命令:java -version

1.3.2 安装maven

  1. 官网下载maven:
    官网地址: enter link description here
  2. Linux新建目录/usr/local/maven/,命令:mkdir /usr/local/maven
  3. 进入/usr/local/maven 下载maven,命令 wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz

  4. 解压,命令
  5. tar -zxvf apache-maven-3.3.3-bin.tar.gz
  6. 配置环境变量
    • vim /etc/profile
    • 在最后一行添加MAVEN_HOME
      export MAVEN_HOME=/usr/local/maven/apache-maven-3.3.3
    • 添加 MAVEN_HOME 入 PATH跟在JAVA_HOME后面
      export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

    • 刷新配置变量
      source /etc/profile
  7. 测试
    java -version
    mvn -v

  8. 修改本地仓库位置(不明白不要紧,后面会讲到,先跟着做)

    maven的仓库default目录在~/.m2中,一般情况,我们会指定仓库地址

    • 回到maven目录:
      cd /usr/local/maven/apache-maven-3.3.3/conf/
    • 修改位置
      vim settings.xml
      找到已注释掉的<localRepository>/path/to/local/repo</localRepository>解开注释;

    修改内容为:<localRepository>/usr/local/maven/repo</localRepository>

    在/usr/local/maven/目录下新建文件夹repo

到此,maven已成功安装至Linux中。

1.4 常用命令介绍

清理(删除target目录下编译内容)
mvn clean

编译项目
mvn compile

打包
mvn package

可以连用
mvn clean package

安装当前工程的输出文件到本地仓库: mvn install

安装指定文件到本地仓库:mvn install:install-file -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=1.0.0 -Dpackaging=jar -Dfile=<myfile.jar>

打包时跳过测试
mvn package -Dmaven.test.skip=true

生成站点目录:mvn site

生成站点目录并发布:mvn site-deploy

1.5 使用命令生成项目

1.5.1 生成maven项目

基本命令格式为:
mvn archetype:generate -DgroupId=<groupName> -DartifactId=<projectName> -DpackageName=<packageName>

新建测试目录 /usr/local/test

我们这里新建一个名为simple项目

mvn archetype:generate -DgroupId=com.group -DartifactId=simple -DpackageName=com.group.maven

执行命令后,maven开始从中央仓库下载依赖,并存入我们的本地仓库/usr/local/maven/repo中,进入本地仓库会发现多了很多文件目录。(下载会有些慢,速度跟网速有关)

过程中会有交互,问你package名称,键入Y即可

目录结构:

1.5.2 生成web项目

基本命令
mvn archetype:generate -DgroupId=<groupName> -DartifactId=<webappName> -DarchetypeArtifactId=maven-archetype-webapp

进入目录 /usr/local/test
建一个名为:webappsimple的项目
mvn archetype:generate -DgroupId=com.group -DartifactId=webappsimple -DarchetypeArtifactId=maven-archetype-webapp

过程中会涉及到版本问题,直接回车即可
包名问题,直接键入Y即可。

目录结构:

特殊说明:maven建的web项目,资源根目录为src/main/webapp。



首页传送门

时间: 2024-11-05 16:31:36

第1章 maven概览及快速入门的相关文章

《Python 3程序开发指南(第2版•修订版)》——第1章 过程型程序设计快速入门 1.1 创建并运行Python程序

第1章 过程型程序设计快速入门 本章提供了足以开始编写Python程序的信息.如果此时尚未安装Python,强烈建议读者先行安装Python,以便随时进行编程实践,获取实际经验,巩固所学的内容. 本章第1节展示了如何创建并执行Python程序.你可以使用自己最喜欢的普通文本编辑器来编写Python代码,但本节中讨论的IDLE程序设计环境提供的不仅是一个代码编辑器,还提供了很多附加的功能,包括一些有助于测试Python代码.调试Python程序的工具. 第2节介绍了Python的8个关键要素,通过

《WCF技术内幕》翻译17:第1部分_第4章_WCF101:WCF快速入门

WCF快速入门 在本节,我要建立一个HelloWCF应用程序以向计算机科学之神表示我们的敬意.在建立这个应用后,我们分成不同的部分细看.为例子尽量简单明了,我们会把发送者和接受放在一个控制台应用里.让我们现在就开始在控制台应用里构建需要的基础架构. // File: HelloWCFApp.cs using System; sealed class HelloWCF { static void Main(){ } } 定义服务契约 构建HelloWCF应用的第一步是创建服务契约.第9章里会详细介

《Spring 3.0就这么简单》——第1章 快速入门 1.1 Spring概述

第1章 快速入门 本章通过一个简单的例子展现开发Spring Web应用的整体过程,通过这个实例,读者可以快速进入Spring Web应用的世界.实例应用按持久层.业务层和展现层进行组织,从底层DAO程序到Web展现程序逐层演进,一步步地搭建起一个完整的实例.通过本章的学习,读者可以独立完成一个典型的基于Spring的Web应用. 本章主要内容: Spring 概述 用户登录实例介绍 基于 Spring JDBC 的持久层实现 基于 Spring 声明式事务的业务层实现 基于 Spring MV

git是一个什么东西?他和maven有什么关系吗?快速入门git的书有哪些?

问题描述 git是一个什么东西?他和maven有什么关系吗?快速入门git的书有哪些? git是不是就是maven啊 关于git的书 git权威指南好像都没有货 ,有没有别的可以快速入门的,不要深入研究的,因为我也看不懂.谢啦 解决方案 Git功能类似svn,是版本控制工具,很maven没有任何关系.maven是项目构建的管理功能比如管理项目依赖的第三方jar包. 解决方案二: git 和svn 之类的类似是个 版本管理工具,maven 是项目构建打包发布的工具 .是两个不一样 的东西. 解决方

《jQuery Mobile快速入门》—— 第2章 jQuery Mobile入门

第2章 jQuery Mobile入门 jQuery Mobile快速入门在第1章,我们讲解了令jQuery Mobile独一无二的一些重要特征,现在我们开始讲解jQuery Mobile的基础知识,以便我们迅速上手.我们首先来概览jQuery Mobile页面模板.我们可以实际选择的页面模板有两个,后面将讨论每一个的优势.然后,我们会讲解jQuery Mobile是如何将我们的语义标记提升转化为一个优化的移动体验的.此外,我们还会介绍jQuery Mobile导航模型的工作方式.尽管jQuer

《jQuery Mobile快速入门》—— 第1章 jQuery Mobile简介

第1章 jQuery Mobile简介 jQuery Mobile快速入门 jQuery Mobile是一个用来构建跨平台移动Web应用程序的新UI框架,具有使用简单的特点.在短短几分钟内,你可以创建出能够在当今可用的近乎所有手机.平板电脑.台式机和电子阅读器设备上运行的优化移动应用程序(app).是的,通过一个jQuery Mobile代码库,我们几乎可以为所有的消费者创建统一标准的体验.当Web设计人员或开发人员需要一个简单的框架来开发丰富的移动Web体验时,jQuery Mobile就成为

《Java语言导学(原书第6版)》一一第1章 快速入门

第1章 The Java Tutorial: A Short Course on the Basics, Sixth Edition 快速入门 本章介绍Java程序语言的入门知识.1.1节概述Java技术,通过说明Java技术的功能及其如何简化编程讨论Java程序语言及其平台.1.2节引入"Hello World!"实例程序,主要描述创建该程序需要下载.安装和输入的内容,并说明在NetBeans IDE.Microsoft Windows.Solaris.Linux和OS X等平台上创

《Java语言导学(原书第6版)》一第1章 快速入门

第1章 快速入门 本章介绍Java程序语言的入门知识.1.1节概述Java技术,通过说明Java技术的功能及其如何简化编程讨论Java程序语言及其平台.1.2节引入"Hello World!"实例程序,主要描述创建该程序需要下载.安装和输入的内容,并说明在NetBeans IDE.Microsoft Windows.Solaris.Linux和OS X等平台上创建该程序的完整过程.1.3节详细讨论"Hello World!"实例程序的代码,包括源码注释.HelloW

《Clojure程序设计》——第1章,第1.2节Clojure编程快速入门

1.2 Clojure编程快速入门 Clojure程序设计 要运行Clojure及本书的示例代码,你需要两件东西. Java运行时.请下载1并安装Java 5或是更高版本.Java 6具有显著的性能提升和更好的异常报告,如果可能就尽量选它吧. Leiningen2.Leiningen是一个用于管理依赖项的工具,并且可以基于你的代码启动各种任务.在Clojure世界中,它是处理这项工作最常用的工具了. 你将会使用Leiningen来安装Clojure和本书所有示例代码的依赖项.如果你已经安装了Le