MAVEN5分钟入门
翻译于apache官方文档:http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
先决条件
您必须了解如何在计算机上安装软件。如果你不知道如何做到这一点,请问你的办公室,学校等人,或者给你一个人来解释这个问题。 Maven邮件列表不是最好的地方要求这个建议。
安装
Maven是一个Java工具,所以你必须安装Java才能继续。
首先,下载Maven并按照安装说明进行操作。之后,在终端或命令提示符下键入以下内容:
mvn –version
它应该打印出你安装的Maven版本,例如:
Apache Maven 3.0.5(r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28 + 0100)
Maven主页:D:\ apache-maven-3.0.5 \ bin \ ..
Java版本:1.6.0_25,供应商:Sun Microsystems Inc.
Java home:C:\ Program Files \ Java \ jdk1.6.0_25 \ jre
默认语言环境:nl_NL,平台编码:Cp1252
操作系统名称:“windows 7”,版本:“6.1”,arch:“amd64”,系列:“windows”
根据您的网络设置,您可能需要额外的配置。如有必要,请查看“配置Maven指南”。
如果您使用Windows,您应该看看Windows先决条件,以确保您准备在Windows上使用Maven。
创建项目
您将需要某个地方驻留您的项目,在某个地方创建一个目录,并在该目录中启动一个shell。在您的命令行中,执行以下Maven目标:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
POM
pom.xml文件是Maven中项目配置的核心。 它是一个单一的配置文件,其中包含了以所需方式构建项目所需的大部分信息。 POM是巨大的,可能在复杂性方面令人生畏,但是没有必要了解所有的复杂性,还没有有效地使用它。 这个项目的POM是:
<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><groupId>com.mycompany.app</groupId><artifactId>my-app</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>Maven Quick Start Archetype</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.8.2</version><scope>test</scope></dependency></dependencies>
</project>
我刚做什么?
您执行了Maven目标原型:生成,并将各种参数传递给该目标。前缀原型是包含目标的插件。如果您熟悉Ant,您可能会将其视为与任务相似。这个目标创建了一个基于原型的简单项目。现在只要说一个插件是一个具有一般共同目的的目标集合。例如jboss-maven-plugin,其目的是“处理各种jboss项目”。
建设项目
mvn包
命令行将打印出各种操作,并结束如下:
...
[INFO] ----------------------------------------------- -------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ----------------------------------------------- -------------------------
[INFO]总时间:2秒
[INFO]完成于:Thu Jul 07 21:34:52 CEST 2011
[INFO] Final Memory:3M / 6M
[INFO] ----------------------------------------------- -------------------------
与执行的第一个命令(archetype:generate)不同,您可能会注意到第二个命令只是一个单一的单词包。而不是一个目标,这是一个阶段。阶段是构建生命周期中的一个阶段,它是有序的阶段序列。当给出相位时,Maven将执行序列中的每个相位,直到并包括定义的相位。例如,如果我们执行编译阶段,实际执行的阶段是:my-app
– src
|-- pom.xml
|– main
| -- java
– com
|
| -- mycompany
– app
|
| -- App.java
– test
-- java
– com
-- mycompany
– app
-- AppTest.java
验证
产生来源
流程源
生成资源
流程资源
编
您可以使用以下命令测试新编译和打包的JAR:
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
哪个将打印典型的:
你好,世界!
运行Maven工具
Maven阶段
尽管几乎不是一个全面的列表,但这些是执行的最常用的默认生命周期阶段。
- 验证:验证项目是否正确,所有必要的信息可用
- 编译:编译项目的源代码
- 测试:使用合适的单元测试框架测试编译的源代码。这些测试不应该要求代码被打包或部署
- 包:将编译后的代码以可分发格式(如JAR)打包。
- 集成测试:如果需要,可以将包过程并部署到可以运行集成测试的环境中
- 验证:运行任何检查以验证包是否有效并符合质量标准
- 安装:将软件包安装到本地存储库中,以作为本地其他项目的依赖关系
部署:在集成或发布环境中完成,将最终软件包复制到远程存储库以与其他开发人员和项目共享。
除了上面的默认列表之外,还有另外两个Maven生命周期。他们是清洁:清理由先前版本创建的工件
- 站点:生成此项目的站点文档
阶段实际上映射到基本目标。每个阶段执行的具体目标取决于项目的包装类型。例如,如果项目类型是JAR,则包执行jar:jar,如果项目类型是 - 你猜到它是一个WAR,那么war:war。
要注意的一个有趣的事情是,阶段和目标可以按顺序执行。
mvn clean dependency:copy-dependencies package
该命令将清理项目,复制依赖项并打包项目(当然,执行所有阶段都可以打包)。
生成网站
mvn site
此阶段根据项目的pom信息生成一个站点。您可以查看目标/站点下生成的文档。
结论
我们希望这个快速的概述引发了您对Maven多功能性的兴趣。请注意,这是一个非常截断的快速入门指南。现在,您已准备好了解您刚刚执行的操作的更全面的详细信息。查看“Maven入门指南”。
http://maven.apache.org/guides/getting-started/index.html
MAVEN5分钟入门相关推荐
- python 三分钟入门_Cython 三分钟入门教程
作者:perrygeo 译者:赖勇浩(http://laiyonghao.com) 原文:http://www.perrygeo.net/wordpress/?p=116 我最喜欢的是Python,它 ...
- 技术19期:1分钟入门数据治理!必看!【技术篇】
1分钟入门数据治理!必看![技术篇] 前言: 在进行大数据开发过程中,数据调研和开发规范都是必不可少的.数据调研便于理清数据源之间的关系,梳理出哪些数据是符合当下的业务场景以及确定所要用到的加工口径等 ...
- 可下载:60分钟入门PyTorch(中文翻译全集)
来源:机器学习初学者本文约9500字,建议阅读20分钟官网教程翻译:60分钟入门PyTorch(全集) 前言 原文翻译自:Deep Learning with PyTorch: A 60 Minute ...
- 30分钟入门Java8之默认方法和静态接口方法
2019独角兽企业重金招聘Python工程师标准>>> 30分钟入门Java8之默认方法和静态接口方法 作者:@JohnTsai 本文为作者原创,转载请注明出处:http://www ...
- 高级篇:独立开发者 5 分钟入门 ASO
这是接上一篇初级篇:独立开发者 5 分钟入门 App 营销的后续,如果有没看上一篇文章的,建议先看上一篇,再回来继续看. "营销" 这个概念自始至终会贯穿我们的专栏,以后会展开说其 ...
- 转载:正则表达式30分钟入门教程
正则表达式30分钟入门教程 版本:v2.21 (2007-8-3) 作者:deerchao 来源:unibetter大学生社区 转载请注明来源 目录 本文目标 如何使用本教程 正则表达式到底是什么? ...
- hive hql文档_30分钟入门 Hive SQL(HQL 入门篇)
Hive SQL 几乎是每一位互联网分析师的必备技能,相信每一位面试过大厂的童鞋都有被面试官问到 Hive 优化问题的经历.所以掌握扎实的 HQL 基础尤为重要,既能帮分析师在日常工作中"如 ...
- 【深度学习】翻译:60分钟入门PyTorch(四)——训练一个分类器
前言 原文翻译自:Deep Learning with PyTorch: A 60 Minute Blitz 翻译:林不清(https://www.zhihu.com/people/lu-guo-92 ...
- 【深度学习】翻译:60分钟入门PyTorch(三)——神经网络
前言 原文翻译自:Deep Learning with PyTorch: A 60 Minute Blitz 翻译:林不清(https://www.zhihu.com/people/lu-guo-92 ...
最新文章
- BZOJ 3211 弗洛拉前往国家 树阵+并检查集合
- 【 FPGA 】数字系统设计方法的演变
- python序列类型-Python数值类型和序列类型
- Cocos2d-x v2.2.2版本+Win7+VS2010环境搭建
- Android之水平ProgressBar多彩背景颜色
- Mars——基于矩阵的统一分布式计算框架
- Solaris 添加删除 用户和组
- XP不能访问WIN7资源
- axis2弱密码漏洞复现
- 番外9福冈·狂野老司机告诉你如果装AI·1· ——混合现实科幻《地与光》
- mac使用的pd虚拟机window黑屏 ---已解决
- arduino上传项目总是出错,串口通信或TX/RX显示上传项目出错
- 珊瑚海-一站式动态化布局框架
- Springboot集成百度地图实现定位打卡功能
- 【AI简报20210604期】意法半导体收购Cartesiam、10个顶级开源AI项目分享
- 移动电源充电宝新国标GB/T 35590-2017检测报告测试项目
- 新近诗作 - 我在找寻什么
- go语言json使用技巧
- 电源符号 VCC、VDD、VSS 为什么都要双写 C、D、S,这么写的目的是什么?
- MS MARCO Document Ranking Leaderboard —— UniRetriever