当前位置: 首页 > news >正文

Maven工具学习使用(七)——Maven属性

内置属性

主要有两个常用的属性${basedir}表示项目的根目录,即包含pom.xml文件的目录;$[version]表示项目版本。

POM属性

使用该类属性引用POM文件中对应元素的值。例如${project.artifactId}就对应了元素的值,常用的POM属性包括:

${project.build.sourceDirectory} 项目的主源码目录,默认为src/main/java

${project.build.testSourceDirectory} 项目的测试源码目录,默认为src/test/java

${project.build.directory} 项目输出构建目录,默认为target/

${project.outputDirectory} 项目主代码编译输出目录,默认为target/classes/

${project.testOutputDirectory} 项目测试代码编译输出目录,默认为target/test-classes

${project.groupId} 项目的groupId

${project.artifactId} 项目的artifactId

${project.version} 项目的版本号,与${version}等价

${project.build.finalName} 项目打包输出文件的名称,默认为${project.artifactId}-${project.version}

自定义属性

在POM文件中元素下定义的属性。例如

<project>
...
    <properties>
        <myprop>hello</myprop>
    </properties>
...
</proeject>

在POM文件的其他地方使用${myprop}来引用myprop属性的值。

Settings属性

与POM属性相同,可以用settings开头的属性引用settings.xml文件中XML元素的值,例如${settings.localRepository}

Java系统属性

所有的Java系统属性都可以使用Maven属性引用,例如${user.home}指向了用户目录。mvn help:system 命令可以查看所有的Java系统属性

Windows中可以通过mvn help:system findStr /C:"user.home" 改命令会查出所有包含user,home的行

mvn help:system find "user.home" find与findStr类似,只是不需要/C:

环境变量属性

所有环境变量都可以使用env.开头的Maven属性引用。例如${env.JAVA_HOME}表示JAVA_HOME环境变量的值。

mvn help:system 命令可以查看所有的环境变量。该命令执行结果如下所示,其中包括系统属性和环境变量。

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- maven-help-plugin:3.4.0:system (default-cli) @ standalone-pom ---
[INFO]
================================================&#
http://www.dtcms.com/a/112976.html

相关文章:

  • 从零构建大语言模型全栈开发指南:第三部分:训练与优化技术-3.1.2Tokenization策略:BPE算法与词表设计
  • 4.5蓝桥入门赛题解
  • 高级:分布式系统面试题精讲
  • ARXML文件解析-2
  • STL剖析
  • 人工智能赋能工业制造:智能制造的未来之路
  • Hash结构之购物车实战
  • 【零基础入门unity游戏开发——动画篇】unity旧动画系统Animation组件的使用
  • AntDesign下,Select内嵌Menu标签,做一个多选下拉框,既可以搜索,还可以选择下拉项
  • 【项目管理】第一部分 信息技术 1/2
  • 十道海量数据处理面试题与十个方法总结
  • 嵌入式Linux驱动—— 1 GPIO配置
  • 浙考!【触发器逻辑方程推导(电位运算)】
  • Ai提示词大师 1.0 | 预制1000+模板满足
  • 《Java实战:素数检测算法优化全解析——从暴力枚举到筛法进阶》
  • GD32H759IMT6 Cortex-M7 OpenHarmony轻量系统移植——4.1版本升级到5.0.3
  • 网络编程—TCP/IP模型(UDP协议与自定义协议)
  • Altshuller矛盾矩阵查询:基于python和streamlit
  • 哈希表(Hashtable)核心知识点详解
  • 【虚拟仪器技术】Labview虚拟仪器技术习题答案(二),设计VI程序
  • 练习题:124
  • Java Web从入门到精通:全面探索与实战(一)
  • 基于YOLO11实例分割与奥比中光相机的快递包裹抓取点检测
  • 基于CATIA产品结构树智能排序的二次开发技术解析——深度定制BOM层级管理系统的Pycatia实践
  • docker搭建minio集群(简化版)
  • MessageQueue --- RabbitMQ WorkQueue
  • Redis-Hash类型
  • 我的购物车设计思考:从个人项目到生产实战思考的蜕变
  • 【Linux网络与网络编程】05.应用层自定义协议序列化和反序列化
  • Systemd构建自动化备份服务与外部存储管理