“Maven官方用户入门指南”翻译之二

如何构建第一maven工程?

        我们现在开始创建第一个自己的maven工程!我们将使用maven的创建向导,构建第一个maven工程。原型定义为:一组事物所表现出来的共性。在maven中,原型是一个满足客户需求创建的maven工程模板。我们现在开始去了解创建向导的工作机制,如果你想了解更多关于原型相关的信息,请参看"原型介绍"

        继续创建第一个maven工程,执行如下命令将构建一个简单的maven工程:

 

mvn archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DgroupId=com.mycompany.app \
  -DartifactId=my-app

一旦执行上述命令,将会出现如下结果:一个名字为my-app的目录将被创建同时这个目录中包含一个pom.xml文件,此文件的内容如下:

 

 

<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>

pom.xml中包括了此项目的POM(项目对象模型)。POM是maven中的基本工作单元,这个很重要,因为maven所有过程的理解都依赖于此概念,总之POM包括工程中的一切重要信息,同时其他信息也都与之有关。POM很重要,初学者鼓励参看POM介绍。

 

    这是一个非常简单的POM,但是他展示了POM包括的关键元素,我们一一讲述他们从而掌握POM要领:

    project:maven的pom.xml文件的根元素。

    modelVersion:POM采用的对象模型版本。

    groupId:项目组唯一标示,是项目的一个组分类。例如: org.apache.maven.plugins是maven的所有的plugin组id

    artifactId:此工程的唯一标示,首先工程最终将是一个jar文件,其次最终文件的名称中将包括artifactId,maven打包生成的最终文件名称格式为:<artifactId>-<version>.<extension> (如: myapp-1.0.jar).

    packaging:工程打包生成格式(如:jar,war,ear等等)。这不仅仅意味着一个jar,war或ear,同时他的特殊生命周期是作为构建过程中的一个部分出现的(生命周期的话题后面还会阐述,你现在只需要了解到他是整个构建周期中的一个部分就可以了)。packaging默认值为jar,因此有些工程可以不显示指定。

    version:工程生成文件的版本号,maven提供版本管理,你常常看到版本号中出现SNAPSHOT,他标示项目在开发阶段。后面我们还会讨论SNAPSHOT。

    name:项目工程名称。通常会在maven生成的api文档中出现。

    url:项目工程url地址。通常会在maven生成的api文档中出现。

    description:项目工程的基本描述。通常会在maven生成的api文档中出现。

 

    POM中的完整元素请参看POM参考,让我们回到项目中来,基于创建向导构建的工程生成的目录结构如下所示:

my-app
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- mycompany
    |               `-- app
    |                   `-- App.java
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java

包括了一个pom文件,一个树形结构的应用源文件和测试源文件,这是一个标准的maven工程(应用源文件路径为: ${basedir}/src/main/java ,测试源文件路径为: ${basedir}/src/test/java, pom.xml路径为${basedir} )。

          手动创建的maven工程我们推荐此目录结构,这是maven的习惯,如果打算了解更多请参考"标准目录结构介绍"

          现在我们已经有了pom文件,应用源文件,单元测试源文件,有可能你又要问......

 

基于PLC的冲压件自动生产线电气系统设计【附数据】 考虑到生产线的高效运行和维护简便性,选择了三菱FX系列的可编程逻辑控制器(PLC)作为核心控制单元,该型号的PLC因其高可靠性和强大的功能集,在工业自动化领域有着广泛的应用。最后,在完成初步的软件开发后,进行了多轮次的模拟测试和现场调试,逐步修正了存在的问题,最终达到了预期的功能要求。例如,对于进料环节,选用了光电传感器以精确检测物料的位置;此外,为了适应不同尺寸的工件加工需求,还特别设计了一套可调节的夹具系统,不仅提高了生产线的灵活性,同时也降低了更换模具的成本。✅ 感恩科研路上每一位志同道合的伙伴! 阅读详情

相关推荐

PLC控制气缸与电磁阀:从原理到实战编程详解

在工业自动化领域,很多工程师都能编写PLC程序控制电机启停,但当涉及到气缸和电磁阀的精确控制时,却常常遇到动作不协调、响应延迟甚至设备损坏的问题。这背后的关键不在于PLC编程本身,而在于对气动元件特性和控制逻辑的深入理解。 本文将从实际工程问题出发,深入解析气缸与电磁阀的工作原理、PLC控制逻辑设计、常见故障排查方法,并通过完整的梯形图实例,帮助读者掌握气动系统自动化编程的核心要点。无论你是刚接触PLC的初学者,还是希望提升气动控制技能的工程师,都能从中获得实用的技术指导。 1. 气缸与电磁阀在自动化控制中

weixin_42522374的博客 338

“Maven官方用户入门指南”翻译之一

概述: 翻译官方用户指南,指南地址:http://maven.apache.org/guides/getting-started/index.html 详情如下:       此指南是为初次使用者或普通用户作为指导手册而准备。对于初次使用者推荐采用顺序方式阅读,对于普通用户而言更好的是一本指导手册。假定你已经下载并安装了maven,如果你还没有安装那么请参考"下载安装"。     现...

smallnetvisitor的博客 202

汇川Easy 301 和MCGS进行Modbus RTU通讯(485)浮点数读取和写入

4DF0001对应寄存器D0,4DF0003对应寄存器D2。注意:要选com2口,com1口是232通讯。

qq_61916672的博客 2909

“Maven官方用户入门指南”翻译之三

如何编译源文件? 进入pom.xml所在的目录,然后执行如下命令去编译你的源文件: mvn compile 执行时将会输出如下信息: [INFO] ---------------------------------------------------------------------------- [INFO] Building Maven Quick Start Archetype...

smallnetvisitor的博客 191

水下探测小白必看:单波束vs多波束声呐,5分钟搞懂核心区别

本文为水下探测新手清晰解析了单波束与多波束声呐的核心区别。单波束声呐如同精准的“手电筒”,进行逐点扫描,适用于定点测深和目标探测;而多波束声呐则像“聚光灯”,能一次性覆盖一个扇区,高效获取海底地形三维信息,是海底测绘和水下三维建模的理想选择。文章通过生动的比喻和对比表格,帮助读者快速理解两者原理、效率差异及适用场景。

linux6sysadmin的博客 1049

BevFusion (1): 传感器介绍

激光雷达,也称光学雷达(LIght Detection And Ranging)是激光探测与测距系统的简称,它通过测定传感器发射器与目标物体之间的传播距离,分析目标物体表面的反射能量大小、反射波谱的幅度、频率和相位等信息,从而呈现出目标物精确的三维结构信息。激光雷达是自动驾驶车辆的关键传感器,如下图所示,车辆上方旋转的圆柱体对应就是激光雷达传感器。

@bangbang的博客 1475

“Maven官方用户入门指南”翻译之七

如何使用外部依赖? 例子中有可能已经有dependencies元素了。实际上你会随时使用到外部的依赖资源,这边我们会谈论下他们是如何工作的。更详细的介绍请参考我们的依赖机制介绍。 pom文件的dependencies 片段中列出了所有的项目依赖,包括编译,运行,测试等用到的。目前我们的项目只依赖JUnit ,其他资源相关信息拿掉之后如下:   &lt;project xmlns="htt...

smallnetvisitor的博客 171

基于方差分解分析气象/水文干旱驱动因素(含MATLAB全代码)

简介基于方差分解方法分析气象/水文干旱驱动因素

WW、forever的博客 801

“Maven官方用户入门指南”翻译之四

如何打包jar并发布到本地资源库上? 执行如下命令可以直接创建一个jar mvn package 看一下pom文件你可以注意到packaging元素的值已经设置成jar,这也就是为什么maven执行上述命令可以创建jar文件(关于这个后面还会说更多)。现在到${basedir}/target 这个目录下你可以看到刚才生成的jar文件。 如果你打算安装此生成文件到本地资源库(默认本地路径为...

smallnetvisitor的博客 129

串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE

一文搞定,赶紧收藏吧

记得诚 3万+

注意力机制与经典 CV 网络:PyTorch 实现与实战

注意力机制(SE/空间/CBAM/Non-Local)通过权重重标定让模型聚焦关键特征,经典 CNN(ResNet/DenseNet/FPN)提供了深层网络、特征复用和多尺度融合的基础骨架。建议先在 ResNet 上插入 SE 模块(通道注意力)做基线实验,再根据任务类型引入空间注意力(分割任务)或非局部注意力(视频任务)。CIFAR-10 数据集适合快速验证注意力模块的有效性,迁移到更大数据集时保持相同的结构设计思路即可。

FJN110的博客 62

“Maven官方用户入门指南”翻译之六

如何过滤资源文件? 有时候资源文件中某一个属性值需要在构建时才指定。在maven中这个是通过在一个资源属性文件中引入 ${&lt;property name&gt;},,这个属性可以在pom文件中、settings.xml中、自定义属性文件或者一个系统属性。 在maven中构建拷贝资源文件的时候只需要在pom文件中对指定的资源目录设置filtering 为true即可:   &lt;pr...

smallnetvisitor的博客 145

2024年09月CCF-GESP编程能力等级认证Scratch图形化编程二级真题解析

小杨购物 【题目描述】 小杨有n元钱用于购物。商品A的单价是a元,商品B的单价是b元。 小杨想购买相同数量的商品A和商品B。 默认小猫角色和白色背景,编写程序请你帮小杨计算出他最多能够购买多少个商品A和商品B。 【输入描述】 新建变量“n”用于存储小杨购物的金额。 新建变量“a”用于存储商品A的价格。 新建变量“b”用于存储商品B的价格。 1≤n,a,b≤100000 如下图所示: 图片 【输出描述】 新建变量“result”用于存储小杨最多购买商品A和商品B的个数。 如下图所示:

人生就是一个不断学习的过程 497

“Maven官方用户入门指南”翻译之五

如何往jar中添加资源文件? 另外一个常见需求就是在不修改pom文件的前提下在打包的时候把资源文件打进去。针对这个需求maven又一次基于标准目录结构,也就是说基于这个公约你可以在打包的时候很容易的打进去。 在上述例子中我们增加了${basedir}/src/main/resources目录来放置一些希望打包打进去的资源文件。maven的规则是任何在${basedir}/src/main/r...

smallnetvisitor的博客 139

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Maven官方用户入门指南”翻译之八(完)

如何创建api帮助手册? 现在我们就开始生成maven工程的系统文档,你可以利用maven的项目创建向导执行如下命令为你已存在工程生成系统文档:   mvn archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DarchetypeArtifactId=maven-archetype-sit...

smallnetvisitor的博客 314

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【译】Spring官方教程:使用STS的入门指南

原文:Working a Getting Started guide with STS 译者:hanbin 校对:Mr.lzc 这个指南引导您使用 Spring Tool Suite (STS) 去构建入门程序。 你将构建什么 您将选择一个Spring入门程序并将其导入到Spring Tool Suite中。 接下来,您可以阅读指南,然后编写代码并运行项目。

程序猿DD 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

《Maven官方指南》翻译邀请

四月份并发网翻译邀请又来了,并发网会优先把大家平时用到的技术的文档翻译完成,所以本月邀请大家翻译Maven官方文档,有兴趣的同学可以通过评论领取,翻译完成之后再并发网直接提交审核。 一次领取一篇,翻译完成之后可以继续领取,领取文章后最好在一个星期内翻译完成,如果不能完成翻译请通过评论告知,以便于其他人可以继续翻译。 Getting Started w...

weixin_34206899的博客 125

Jetty官方文档翻译

转载自:http://www.cnblogs.com/yiwangzhibujian/p/5832294.html Jetty官方文档翻译   最近在学习Jetty,没有找到合适的资料,所有只能看官方文档了,但是只有英文的,想着自己翻译着学也是学还不如把学习的过程放到网上,也可以给需要...

chuohuanhua3036的博客 271

用maven生成HBase官方指南文档

说在前面的话: 因为这是翻译,基于水平有限,可能对原文表达不够清楚。在Linux调用的命令、打印等内容没有翻译,直接使用原文内容。原文地址找不到了,只能对原作者zhouhh兄说声抱歉。 我一直有一份HBase官方指南,但是我不知道作者是如何编辑这份指南的资源(通过maven生成的xml、html文件)。作者可以灵活调整章节,而我只能遵守按照章节编号规则。 对于这个问题,我向其中一个作者S

沉潜飞动 2335

Maven学习总结(一)——Maven入门

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34318326的博客 1722

01-Maven官网入门指南

maven是Apache的顶级项目,解释为“专家,内行”,它是一个项目管理的工具,maven自身是纯java开发的( Theresult is a tool that can now be used for building and managing any Java-basedproject),可以使用maven对java项目进行构建、依赖管理。POM 是 Maven 中的基本工作单元。简而言之,POM 包含有关您的项目的所有重要信息,并且本质上是一站式购物,可以找到与您的项目相关的任何信息。

ltb_jcgx的博客 360

Gradle 2.14.1 用户指南翻译——第一章. 简介

我们很高兴向你介绍Gradle,一个我们认为在Java(JVM)世界的构建技术上有巨大飞跃的构建系统。它提供了: We would like to introduce Gradle to you, a build system that we think is a quantum leap for build technology in the Java (JVM) world. Gradle provides: 一个像Ant一样非常灵活的通用构建工具。 A very flexible general

一个码农的博客 765

【小QのSpringBoot-翻译】Spring Boot官方参考指南-第一部分 Spring Boot文档

译者注: 本文翻译自Spring Boot 1.4.2.RELEASE 官方参考指南,译者第一次尝试翻译技术文档,如有不当之处还请诸君多多斧正,谢谢!

耕者的博客 866

Maven从入门到高级

今日内容: Maven概述(理解) Maven环境配置(掌握) Maven仓库介绍(理解) Maven项目搭建(掌握) Maven依赖管理(掌握) Maven的生命周期(理解) 一.Maven简介 1.1 什么是Maven 翻译为“专家”,“内行” Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。 什么是项目构建? 项目构建就是从创建项目开始,到最后项目部署整个流程。 如下图: 清理: 把项目中之前运行生成的classes删除掉 编译: 把项目..

caozhisanguo的专栏 1060

《Maven权威指南》完整发布,带官方PDF

2010/04/29更新 :我已经在个人网站提供了PDF下载 http://www.juvenxu.com/mvn-def-guide/   最近抽了两天时间,把该书的序啊,前言啊,附录啊,零零碎碎的部分都翻译完毕了,也算是一次完整的发布,我称之为Beta 0.2。中文版不可能与英文版完全同步,于是中文版有自己的版本号,和英文版的Beta 0.2不尽一致。   目前最新的英文版本...

Maven中文 1032

Arifactory官方文档翻译Maven Repository

Overview As a Maven repository, Artifactory is both a source for artifacts needed for a build, and a target to deploy artifacts generated in the build process. Maven is configured using a settings.xml...

yezhirm7的博客 787
上一篇: “Maven官方用户入门指南”翻译之一
下一篇: “Maven官方用户入门指南”翻译之三
dataee
博客等级 码龄14年 46粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值