我的编程空间,编程开发者的网络收藏夹
学习永远不晚

pom文件中${project.basedir}的使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

pom文件中${project.basedir}的使用

${project.basedir}的使用

<project> 是 pom.xml 的根节点,project.basedir 就是根节点的下级节点,缺少配置的话就要自己定义一个。

这块配置就是定义自己的项目目录结构

Maven的六类属性,${project.basedir},${project.build.directory}

内置属性

主要有两个常用内置属性:basedir项目的根目录(包含pom.xml文件的目录),{basedir}项目的根目录(包含pom.xml文件的目录),basedir项目的根目录(包含pom.xml文件的目录),{version}项目版本

POM属性

用户可以使用该属性引用POM文件中对应元素的值

常用的POM属性包括:

  • ${project.build.sourceDirectory}:项目的主源码目录,默认为 class="lazy" data-src/main/java
  • ${project.build.testSourceDirectory}:项目的测试源码目录,默认为 class="lazy" data-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.version}:项目的 version,与project.version:项目的version,与{version}等价
  • project.build.fianlName:项目打包输出文件的名称。默认为{project.build.fianlName}:项目打包输出文件的名称。默认为project.build.fianlName:项目打包输出文件的名称。默认为{project.artifactId}-${project.version}

自定义属性

用户可以在POM的元素下自定义Maven属性

Settings属性

用户使用settings.开头的属性引用 settings.xml 文件中XML元素的值

Java系统属性

所有Java系统属性都可以使用Maven属性引用

环境变量属性

所有环境变量都可以使用以env.开头的Maven属性引用

在依赖中 使用pom变量

<dependencies>
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>part-a</artifactId>
        <version>${project.version}</version>
    </dependency>
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>part-b</artifactId>
        <version>${project-version}</version>
    </dependency>
</dependencies>

在插件中使用pom变量

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.5</version>
    <configuration>
        <repositoryDirectory>${project.build.directory}/test-reports</repositoryDirectory>
    </configuration>
</plugin>

自定义变量

 <properties>
     <db.driver>com.mysql.jdbc.Driver</db.driver>
     <db.url>jdbc:mysql://localhost:3360/test</db.url>
     <db.username>username</db.username>
     <db.password>password></db.password>
 </properties>
</profiles>

Maven属性默认只有在POM中才会被解析,因此需要让Maven解析资源文件中的Maven属性。Maven用maven-resources-plugin处理资源文件。它默认的行为只是将项目主资源文件复制到主代码编译输出目录中,将测试资源文件复制到测试代码编译输出目录中。

Maven默认的主资源目录和测试资源目录的定义是在超级POM中,要为资源目录开启过滤,只要在此基础上添加一行filtering配置即可。

Filtering是maven resource插件的功能,作用是用环境变量,pom文件里定义的属性和指定文件里的属性替换属性文件的占位符。(超级pom在 apache-maven-3.3.9\lib\maven-model-builder-3.3.9.jar\org\apache\maven\model\pom-4.0.0.xml)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

pom文件中${project.basedir}的使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

springboot中的pom文件project报错怎么解决

这篇“springboot中的pom文件project报错怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“spring
2023-06-26

Maven pom文件中属性变量有哪些

本篇内容主要讲解“Maven pom文件中属性变量有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Maven pom文件中属性变量有哪些”吧!Maven pom文件属性变量总结1.内置属性$
2023-06-22

导入maven的pom文件报错如何解决

导入Maven的pom文件报错可能有很多原因。以下是一些常见的解决方法:1. 检查网络连接:确保您的网络连接正常。如果网络连接不稳定,可能导致无法下载Maven的依赖项。2. 检查Maven仓库配置:确保您的Maven仓库配置正确。您可以在
2023-09-27

idea中pom文件引入依赖报错如何解决

当pom文件引入依赖报错时,可以尝试以下解决方法:1. 检查依赖版本:确保所引入的依赖版本与项目所使用的版本兼容。可以尝试更新依赖版本或降低项目所使用的版本。2. 检查依赖坐标:确认所引入的依赖坐标是否正确。可以从Maven中央仓库或其他可
2023-08-25

MyBatis中映射文件的使用

MyBatis中映射文件的使用 1、配置核心文件 ①引入映射文件 ​ 首先我们得在核心配置文件中配置mappers,引入映射文件所在的包 这里必须满足两个条件: 接口和映射文件所在的包必须一致接口的名字和映射文件的名字必须一致
2023-08-18

pom文件中,mysql依赖报错:mysql:mysql-connector-java:jar:unknown was not found in http://maven.aliyun.com/nex

spring项目导入sql依赖时报错:mysql:mysql-connector-java:jar:unknown was not found in http://maven.aliyun.com/nexus/content/reposi…
2023-08-16

IDEA导入Springboot项目,注解和pom文件不识别的解决

这篇文章主要介绍了IDEA导入Springboot项目,注解和pom文件不识别的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-17

vue文件中的index.vue如何使用

今天小编给大家分享一下vue文件中的index.vue如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。vue文件中in
2023-07-04

python中的requirements.txt文件怎么使用

这篇文章主要介绍“python中的requirements.txt文件怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python中的requirements.txt文件怎么使用”文章能帮助大
2023-06-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录