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

如何往jar中添加资源文件?

另外一个常见需求就是在不修改pom文件的前提下在打包的时候把资源文件打进去。针对这个需求maven又一次基于标准目录结构,也就是说基于这个公约你可以在打包的时候很容易的打进去。

在上述例子中我们增加了${basedir}/src/main/resources目录来放置一些希望打包打进去的资源文件。maven的规则是任何在${basedir}/src/main/resources 放置的文件在打包的时候都会原封不动的安装这个目录结构打包进去如下所示:

 

my-app
|-- pom.xml
`-- src
    |-- main
    |   |-- java
    |   |   `-- com
    |   |       `-- mycompany
    |   |           `-- app
    |   |               `-- App.java
    |   `-- resources
    |       `-- META-INF
    |           `-- application.properties
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java

上面你可以看到在 META-INF 目录里有个application.properties文件,如果你解压这个jar你会看到如下目录结构:

 

 

|-- META-INF
|   |-- MANIFEST.MF
|   |-- application.properties
|   `-- maven
|       `-- com.mycompany.app
|           `-- my-app
|               |-- pom.properties
|               `-- pom.xml
`-- com
    `-- mycompany
        `-- app
            `-- App.class

 你可以看到 ${basedir}/src/main/resources 里面的内容在jar中可以被找到在META-INF目录下。同时你也发现了META-INF/MANIFEST.MF 、 pom.xml 和pom.properties,这些文件是在maven打包的时候自动生成的。当然你也可以生成自己的manifest 文件,如果你不指定的话那么maven会生成默认的(你也可以修改manifest,后面会说到这个事)。pom.xml 和 pom.properties被maven打入jar中包括一些自身的描述信息,一些元数据信息同时也可以给你自己的三方程序使用。一个简单的需求就是查看工程版本号。操作pom文件可能需要maven的工具包,不过操作属性文件直接可以基于标准java api来操作,他的内容如下:

#Generated by Maven
#Tue Oct 04 15:43:21 GMT-05:00 2005
version=1.0-SNAPSHOT
groupId=com.mycompany.app
artifactId=my-app

单元测试的资源文件同样遵循上述标准,不过需要放在${basedir}/src/test/resources目录下。这样的话一个标准的目录结构如下所示:

my-app
|-- pom.xml
`-- src
    |-- main
    |   |-- java
    |   |   `-- com
    |   |       `-- mycompany
    |   |           `-- app
    |   |               `-- App.java
    |   `-- resources
    |       `-- META-INF
    |           |-- application.properties
    `-- test
        |-- java
        |   `-- com
        |       `-- mycompany
        |           `-- app
        |               `-- AppTest.java
        `-- resources
            `-- test.properties

单元测试中你可以引用下述片段去访问测试用的资源文件:

...

// Retrieve resource
InputStream is = getClass().getResourceAsStream( "/test.properties" );

// Do something with the resource

...

 

EM4095低频RFID曼彻斯特解码实战:从原理图到MCU代码实现 本文详细介绍了EM4095低频RFID读卡器的设计与实现,从芯片工作原理、天线设计到曼彻斯特解码算法。重点讲解了基于STM32的MCU代码实现,包括定时器捕获、数字滤波和错误处理,为开发125kHz RFID系统提供实用指南。 阅读详情

相关推荐

告别卡顿!用LVGL+DMA刷新STM32F407的SPI屏幕,性能提升实战

本文详细介绍了如何通过LVGL+DMA技术优化STM32F407驱动SPI屏幕的性能,实现接近60FPS的流畅刷新。从硬件瓶颈分析到SPI与DMA的精细化配置,再到LVGL的双缓冲机制与局部刷新优化,提供了一套完整的性能提升方案。特别适合嵌入式GUI开发中面临卡顿问题的工程师参考。

weixin_42531588的博客 379

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

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

smallnetvisitor的博客 202

01 Aras Innovator二次开发实战:从IOM到AML的完整交互指南

本文详细介绍了Aras Innovator二次开发实战,从IOM到AML的完整交互指南。通过JavaScript和C#代码示例,展示了如何在客户端和服务端使用IOM进行开发,并深入解析AML语言的基础语法和调试技巧。文章还提供了文档管理和BOM管理等典型场景的实战案例,帮助开发者快速掌握Aras Innovator二次开发的核心技术。

wind6的博客 651

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

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

程序猿DD 1万+

浅谈“无人机通感一体化(ISAC)”

总的来说,通信和感知一体化是一个循序渐进的过程,是未来一个比较有潜力的发展场景,当然,需要研究的内容有很多,面临的挑战也有很多,但是它值得我们去探索和学习!

m0_69182322的博客 4202

SAP MD81创建客户独立需求简介

正常我们用的最多的计划独立需求都是使用的是MD61 ,今天我们说下SAP的另外的一个标准功能客户独立需求MD81。虽然SAP给这个TCODE的描述是客户独立需求,但是实际是没有地方去关联对应的客户信息的。可以看到根据客户需求产生了对应的计划订单,我们创建的时候选择的KSV是按库存生产的,所以转换的时候生产订单也按单生产的。上面填写的这些字段的信息是不是和我们销售订单里面的字段的信息很相似。1)填写交货日期,可以选择按月 ,按日,按周等类型选择对应的日期。保存后会显示对应的客户独立需求的号码,如下图。

我小时候很黑的博客 2904

《Maven官方指南》翻译邀请

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

weixin_34206899的博客 125

YOLOv8 | 损失函数改进,最新提出的Shape-IoU,有效涨点

作为检测器定位分支的重要组成,边框回归损失在目标检测任务中发挥巨大作用。现有的边框回归方法,通常考虑了GT框与预测框之间的几何关系,通过使用边框间的相对位置与相对形状等计算损失,而忽略了边框其自身的形状与尺度等固有属性对边框回归的影响。为了弥补现有研究的不足,本文提出聚焦边框自身形状与尺度的边框回归方法。首先我们对边框回归特性进行分析,得出边框自身形状因素与尺度因素会对回归结果产生影响。

kay_545 1914

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

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

smallnetvisitor的博客 191

7.5华为OD机试真题 新系统 - 省超足球比赛获胜队伍计算 (Java/Py/C/C++/Js/Go)

7.5华为OD机试真题 新系统 - 省超足球比赛获胜队伍计算 (Java/Py/C/C++/Js/Go)

算法大师! 825

RK3568笔记五十四:SORT实时目标追踪

YOLOv5具备目标检测的功能,把视频分解成多幅图像并逐帧执行时,如果视频帧中有多个目标,如何知道一帧中的目标和上一帧是同一个对象就是目标跟踪的工作。DeepSort是实现目标跟踪的算法,从sort(simple online and realtime tracking)演变而来,使用卡尔曼滤波器预测所检测对象的运动轨迹,匈牙利算法将它们与新的检测目标相匹配。结合YOLOv5和DeepSORT可以在实时场景中实现高效的目标检测和跟踪。

790

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

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

smallnetvisitor的博客 171

Python爬虫实战:2026最新版淘宝商品详情页数据抓取与价格监控

在2026年的今天,电商数据已经成为商业决策、市场分析和价格策略制定的核心资产。淘宝作为中国最大的电商平台之一,其商品详情页包含了海量有价值的信息:商品标题、价格、销量、评价数、店铺信息、SKU属性等。对于从事电商运营、竞品分析、价格监控的从业者来说,能够高效、稳定地获取这些数据至关重要。然而,淘宝平台的反爬虫策略在2026年已经演进到了相当成熟的阶段。

2201_76125261的博客 891

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

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

smallnetvisitor的博客 175

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Jetty官方文档翻译

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

chuohuanhua3036的博客 271

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

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

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

smallnetvisitor的博客 129

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

用maven生成HBase官方指南文档

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

沉潜飞动 2335

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

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

smallnetvisitor的博客 145

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

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

smallnetvisitor的博客 314

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、付费专栏及课程。

余额充值