maven

5分钟熟悉Maven
根据官网文档翻译,其中有些地方翻译的不够好,还望指导。
来自:Http://azhp.blog.163.com
安装
Maven是个Java工具,所以你必须首先安装Java以便进行下一步操作.
首先, 下载 Maven然后按照以下说明进行设置. 然后,在终端或者命令提示符输入以下:
mvn --version
接下来应该会输出你安装的Maven的版本, 比如:
Maven version: 2.0.8
Java version: 1.5.0_12
OS name: "windows 2003" version: "5.2" arch: "x86" Family: "windows"
根据你的网络设置, 你也许想要进行额外的详细设置. 如果需要则根据Maven的设置指导来进行详细设置.
创建一个新工程
在你的命令行,执行以下的Maven目标命令:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
如果你正好已经安装了Maven,那么在第一次运行的时候可能会花费少许时间。这是因为Maven正在下载最近的运行时参考(插件jar包和别的文件)到你的本地资源仓库。在命令成功运行之前你可能需要一段时间。这是因为在你下载完成之前对远程服务器的连接可能会超时。但是别担心,其会通过不同的方法来完成下载。
你将会注意到命令“create goal” 创建了一个与给定的项目命令一样的文件夹。
进入到这个文件夹下面 。
cd my-app
进入这个文件夹后你将会发现一套具有标准结构的项目。
my-app
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
`-- mycompany
`-- app
`-- AppTest.java
这个文件夹 “src/main/java” 包括了项目的源代码,而在这个 “src/test/java”文件夹则包括了测试的代码,以及这个项目的项目对象模型pom.xml, 或简称 POM。
项目对象模型--- POM
Pom.xml这个文件是这个项目中Maven的核心设置。这个设置文件包括了构建该项目时所需要的所有的构建信息。项目对象模型是一个强大的及复杂的模型,但并不是所有的复杂问题都需要深刻的了解。这个项目的项目对象模型—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>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Maven Quick Start Archetype</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
我刚才做了什么呢?
你执行了Maven的目标命令 archetype:create,并把多种参数传给刚才那个目标命令。命令前缀archetype 是一个插件其中也包括了一项目标命令。如果你对Ant熟悉的话,你可能会熟悉这些任务。这个目标命令会在一个典型的项目结构的基础上创建一个简单的项目。可以很清楚的说出一个插件其实就是一个目标命令的集合所完成的普通目的功能。例如插件“jboss-maven-plugin”,它的目的功能就是“处理多个jboss的任务”。
构建项目
mvn package
命令行将会输出多个活动日志,就像如下所示:
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Thu Oct 05 21:16:04 CDT 2006
[INFO] Final Memory: 3M/6M
[INFO] ------------------------------------------------------------------------
你可能会注意到第二次不像第一次执行命令(archetype:create) 时那么复杂,而仅仅只有一个参数- package 。本次并不仅仅是一个目标命令,而是一个构造阶段的完成。这个阶段在构建生命周期的过程中的多个有序的阶段中是其中的一个步骤, Maven将会执行每一个阶段直到达到一个特定的阶段 。比如:如果我们执行了编译这个阶段那么各个阶段都得到执行,实际上是执行了:Unlike the first command executed (archetype:create) you may notice the second is simply a single word - package. Rather than a goal, this is a phase. A phase is a step in the build lifecycle, which is an ordered sequence of phases. When a phase is givenwill execute every phase in the sequence up to and including the one defined. For example, if we execute the compile phase, the phases that actually get executed are:
1. 验证validate
2. 生成代码generate-sources
3. 处理代码process-sources
4. 生成资料generate-resources
5. 处理资料process-resources
6. 变异compile
你可以测试最新编译以及打包好的Jar文件,命令如下:
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
然后将会输出该主类执行的结果:
Hello World!
运行Maven工具
Maven 的分段执行计划
虽然没有一个比较综合统一的执行计划,但这这些是最常见的生命周期执行阶段。
 验证:验证该项目是正确的以及运行这个项目所必须得信息是有效的。
 编译:编译该项目的源代码。
 测试:使用适当的单元测试框架来测试编译后的代码。测试的时候并不需要对代码进行打包或者是部署。
 打包:根据描述的格式来对编译后的代码进行打包,例如jar包。.
 集成测试:为了能够使集成测试运行,那么我的在处理或者是部署包文件的时候如果需要就得设置运行时环境变量。
 确定功能:运行及检查每一个功能包都是有效及达到质量认证的。
 安装:安装包到本地的资源库中,以方便别的该项目对此包的应用。
 部署:最后把环境变量整合好后,把最终版本的副本上传到远程资源仓库中,继而与别的开发者及项目来共享资源。
还有两个特殊的Maven的生命周期并不在其默认的生命周期中。它们是:
 清除:清除掉之前创建的版本。
 日志记录:为这个项目生产一个每一步操作的日志记录。
每一个阶段实际上正好就是每一个目标命令所达到的结果。执行的每个阶段的具体目标取决于项目的封装类型。比如:如果项目的类型是jar包那么就执行命令“jar:ja”,而如果执行命令“war:war”的话,那么这个项目的类型肯定就是war包型。
如果你对其关注的比较详细的话会注意到,那些阶段和目标命令的执行都是具有一定顺序的。
mvn clean dependency:copy-dependencies package
这条命令将会清除该项目上次的编译结果、类型的依赖、以及打好包的工程(当然是打包时所建立的子项目包)。
自动生成站点
mvn site
这个阶段会生基于项目中项目对象模型的信息而生成一个站点。你可以根据构建的日志记录到“target/site”下面查看。
总结
我们希望那个这个快速上手概述可以让你对Maven的接触中有更大的辅助作用。不过要注意这只是一个快速上手的指导。现在你可以为下一步详细、强大的功能的使用奠定了前期的具体概念。请查看Maven的入门指南。
《拉依达的嵌入式\驱动面试宝典》—Linux篇(八)_Linux驱动编程 《拉依达的嵌入式\驱动面试宝典》 整合了所有我认为可能遇到的技术面试问题。所有问题及其答案均是我个人学习后查阅资料总结,每个回答都做了仔细的分析,在嵌入式及其驱动面试相关问题解析做到全网独一无二。学习或者转行到嵌入式、驱动开发领域学习的不二之选 阅读详情

相关推荐

ESXI 与 OPNSense 配合

国庆期间在家里更新曾经购买的设备,将曾经的单系统,加固为防火墙,多系统的网络架构,如下图: 网络架构 在 ESXI 系统中默认存在一个 vSwitch0 交换机,且其不能被修改名称,因此在此通过修改其对应绑定的上行网卡即可,具体如下: 设置 vSwitch0 上行链路 将 vmnic 0 (网口...

weixin_34050389的博客 2314

5分钟熟悉Maven之官方文档翻译

5分钟熟悉Maven 根据官网文档翻译,其中有些地方翻译的不够好,还望指导。 来自:Http://azhp.blog.163.com 安装 Maven是个Java工具,所以你必须首先安装Java以便进行下一步操作. 首先, 下载 Maven然后按照以下说明进行设置. 然后,在终端或者命令提示符输入以下: mvn --version 接下来应该会输出你安装的Maven的版本, 比如: ...

cnazhp 260

SDIO_WiFi驱动学习之安卓WLAN架构介绍及调用流程分析

一、引言 上一篇博客大概介绍了MMC子系统和SDIO相关知识及架构,这一篇博客则大致分析安卓的WLAN架构及上层如何调用WLAN驱动的流程。 虽然我工作的开发环境是安卓系统,但由于我不是专业的安卓应用/框架开发工程师,所以对安卓层的一些代码并不是特别熟悉,只能大致梳理流程,不专业的地方请谅解。 本文部分内容摘抄自网络,若有侵权,请联系删除。 二、安卓WLAN架构 1、应用框架(Application framework) 在应用程序框架级别是应用程序代码,它使用各种android.net..

陈子陌的博客 5088

Maven介绍(翻译自官方文档)

1. Introduction(简介) Maven, a Yiddish word meaning accumulator of knowledge, was originally started as an attempt to simplify the build processes in the Jakarta Turbine project. There were several pro...

Tianlujunr's Bloggg 1453

【点云数据集】整理汇总(自用,更新ing)

涵盖了各种不同的城市场景:教堂、街道、铁路轨道、广场、村庄、足球场、城堡等等。邮件地址:dmich-request@graphics.stanford.edu,内容需包含:1. 您的姓名、头衔或职位,以及所在机构或隶属关系;license比较难获取,目前可获取的人员:(1)目前隶属于大学、工业研究实验室或其他主要机构的已发表过研究成果的研究人员;普林斯顿 ModelNet 项目的目标是为计算机视觉、计算机图形学、机器人技术和认知科学领域的研究人员提供全面、干净的物体 3D CAD 模型集合。

weixin_44392103的博客 798

泛微OAe9-自定义资源看板

OA中,有一个很好用的功能:会议室预约。对于一间设立的会议室,同一时间段内,肯定会有不同的人预约同一间会议室,并且,在资源看板里,能看清各个时间段会议室的占用情况,可是会议室资源是有限的,显然不可能让多个人在同一时间段内预约同一间会议室,如会议室已占用,其他人再次申请时,应当拒绝预约。

小松鼠的博客 1849

不小心关闭了maven build script found,maven找不到怎么办

不小心关闭了maven build script found,maven找不到怎么办

m0_51527921的博客 1万+

颠覆性创新的测量框架与跨领域实证分析

颠覆性创新作为科技发展的重要驱动力,其核心在于实现知识体系的范式转换。从技术原理看,这类创新通常具备知识替代、网络重构和跨领域渗透三大特征,通过引用网络分析和文本挖掘等方法可量化评估其影响力。在工程实践中,CD指数、DI指数等测量工具帮助研究者识别具有突破潜力的成果,而深度学习等新兴技术进一步提升了评估精度。当前AI、半导体等领域的热门技术发展表明,模块化架构和产业协同能有效促进颠覆性创新。面对全球范围内创新颠覆性下降的趋势,优化科研评价体系、构建跨学科协作网络成为关键应对策略。

weixin_29735807的博客 323

Gradle VS Maven 比较(官方文档翻译)英文水平有限

  以下是对 Gradle 和 Apache Maven 之间主要不同点的总结,概括为:灵活性,性能,用户体验和依赖管理。文本并不会对此进行长篇大论,你可以查看Gradle 特性列表 和 Gradle与Maven之间的性能比较 获取更多信息。 灵活性 谷歌(Google)选择将 Gradle 作为安卓的官方构建工具;并不是因为构建脚本是代码的缘故,而是因为 Gradle  采用了一种最基...

firebolt100的博客 1908

RV1106G3的fastboot调试

本文详细描述了在幸狐的Luckfox Pico Ultra硬件平台上,使用官方SDK进行系统优化和YOLOv5s模型部署的过程。首先,硬件板卡使用幸狐的SDK进行EMMC非Fastboot配置时功能正常,但Fastboot配置编译失败,通过修改设备树中的ramdisk大小解决了编译问题,但运行时仍报错。幸狐提供的Fastboot烧录文件可正常运行,表明硬件支持Fastboot。随后,使用官方SDK版本rv1106_rv1103_240813进行编译和调试,发现EMMC Fastboot启动失败,通过修改U-

fzktongyong的博客 2360

AI Agent Harness实时监控大屏搭建实战

本文将以目前主流的AI Agent管控框架Harness为基础,结合React、ECharts、WebSocket技术,手把手带你搭建一套完整的实时监控大屏,覆盖全局概览、状态分布、工具调用统计、异常告警、实时日志等核心功能,不需要复杂的底层开发,复制代码就能快速跑通。本文我们从需求出发,先梳理了AI Agent的核心监控指标,然后搭建了监控大屏的静态布局,逐个实现了各个图表,对接了Harness的实时数据源,最后加了交互和告警功能,完整走了一遍监控大屏从设计到落地的全流程。

大数据洞察的博客 181

Maven2的配置文件settings.xml

简介: 概览 当Maven运行过程中的各种配置,例如pom.xml,不想绑定到一个固定的project或者要分配给用户时,我们使用settings.xml中的settings元素来确定这些配置。这包含了本地仓库位置,远程仓库服务器以及认证信息等。 settings.xml存在于两个地方: 1.安装的地方:$M2_HOME/conf/settings.xml 2.用户的目录:${...

weixin_30617561的博客 353

RK3588开发笔记-PCIE接口2.5G网卡RTL8125调试记录

在RK3588平台上调试2.5G网卡(Realtek RTL8125)时,我们会用到PCIE接口,这篇文章记录了从硬件连接、内核驱动到最终实现网络通信的整个调试过程,包括可能遇到的问题和解决方案。Realtek RTL8125是为高带宽需求设计的一款高性价比2.5G以太网控制器。它不仅提供了高达2.5Gbps的网络传输速率,还具备良好的节能特性、硬件卸载引擎和广泛的操作系统支持。无论是在家庭网络、企业NAS,还是游戏和云计算等场景中,RTL8125都能为用户提供更快速、更稳定的网络连接。

flypig has a dream! 3681

MAVEN利器:一文带你了解IDEA中如何使用Maven

在上一篇文章中,我们学习了如何在自己的电脑环境中安装MAVEN软件,但实际上我们日常使用中并不是一直在命令行中使用MAVEN的,我们更多的是基于IDEA编译器来使用MAVEN,那么我们今天就来学习如何在自己的IDEA中配置MAVEN。

fckbb的博客 8700

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Maven的简介以及Maven安装配置

打开IDEA,点击菜单栏中的【File】选择【New Projects Settings】选择【Settings For New Projects】进入IDEA配置,找到【Build,Execution,Deployment】菜单栏中的【Build Tools】中找到Maven。那么我们可以将需要的依赖项的信息编写到Maven工程的配置文件,Maven软件就会自动下载并复制这些依赖项到项目中,也会自动下载依赖需要的依赖!通过 Maven,我们可以方便地维护项目所依赖的外部库,而我们仅仅需要编写配置即可。

2301_80309994的博客 2627

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

MAVEN的安装与配置以及配置MAVEN镜像为阿里云

MAVEN的安装与配置 如需配置MAVEN链接阿里云的镜像请直接查看 (三、配置MAVEN本地仓库 的第四步) 一、需要的东西 1.JDK(上一章已经详细讲解了https://blog.youkuaiyun.com/map_cx/article/details/89471218) 2.Eclipse 3.MAVEN的程序包 二、下载(因为MAVEN不需要安装) 1.下载: https://maven.ap...

胡椒码农的博客 5万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

什么是Maven,Maven的概述及基本使用

Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档项目对象模型(Project Object Model)依赖管理模型(Dependency)插件(Plugin)提供了一套标准化的项目结构提供了一套标准化的构建流程(编译、测试、打包、发布…)提供了一套依赖管理机制依赖管理:依赖管理其实就是管理你项目所依赖的第三方资源(jar包、插件…)1.下载jar包2.复制jar包到项目。

宁可枝头抱香死,何曾吹落北风中。 4382

解决maven unresolved plugin 以及 如何控制maven plugin 的插件版本

最近在写一个项目的时候,有两个module,A是一个Spring boot,B是一个没有使用框架的module。 问题一: B库很长时间在执行Downloading plugins for,如果中途退出了idea,插件没有下载完,再次进入idea,会出现unresolved plugin的报错 分析: 这个问题可以通过两个方面来解决: 1、更改仓库地址,提高下载速度,一运行,很快...

薛瑄的博客 5万+

Maven

教你下载和配置Maven

xiaoyudecsdndec的博客 2207

Maven项目缺少Maven Dependencies总结

本文通过总结网上各种maven项目没有Maven Dependencies的情况,结合自己所遇到的奇葩问题,综合成一片文章,希望给大家带来帮助。

Frankenstein的博客 1万+

Maven安装、配置、Maven集成到IDEA中

1.先maven官网下载maven.2.解压到D:\盘根目录下注意:不能放到中文目录。

2301_80220193的博客 2162

Eclipse基于Maven配置SSM

Eclipse配置Maven环境 一.什么是maven? Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期 (Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段 (phase)中插件(plugin)目标...

guigu2012的专栏 4094

如何配置Maven

目录 1.配置MAVEN_HOME 2.修改系统变量的PATH 3.配置maven本地仓库 4.配置镜像 1.配置MAVEN_HOME 在系统环境变量下配置MAVEN_HOME,maven的所在文件夹如下,不需要加上bin 2.修改系统变量的PATH 将 %MAVEN_HOME%\bin加入到系统环境变量的PATH 3.配置maven本地仓库 打开你的maven文件夹,进入conf文件夹,打开settings.xml文件...

weixin_41531181的博客 5519

Maven Wrapper的使用

Maven Wrapper是apache maven借鉴了gradle wrapper之后增加了的功能,可以为每个具体的项目添加一个专用的、指定版本的maven供其使用。takari官方说maven wrapper将会整合到apache maven 4.0里边,现在maven最新版本是3.8,等待好消息。

顺其自然~专栏 2630

Maven学习—Maven环境搭建

Maven 提供是三个平台的安装包 MacOS、Windows、Linux。安装包解压解压即可以使用。

飞鸽FlyGo-把自己作为一款产品来打磨,提升产品的体验,锻造出最好的自己。 1673

Maven部署以及IntelliJ IDEA中创建部署Maven项目与运行Maven命令——详细篇

本篇博客主要讲解Maven的部署,包括下载安装,配置,更换国内阿里镜像,以及在IntelliJ IDEA中创建部署Maven项目与运行Maven命令。 Maven部署 内容涉及Maven的一些基础知识,可以关注我的博客,后续会更新关于Maven的学习笔记。 Maven的作用: (1)增加第三方jar以及处理jar之间的依赖关系 (2)将项目划分成若干模块。 Maven下载安装 由于Maven是基于Java平台的自动化构建工具,所以应该先安装JDK环境,这里我就默认大家都配置好了JDK环境。 (1)下载Mav

MACRosshaha的博客 3197
上一篇: 基础平台
下一篇: JetSpeed
yeahrobin
博客等级 码龄18年 1粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值