6-Maven的使用

news2024/10/5 14:18:46

6-Maven的使用

常用maven命令

//常用maven命令

mvn -v //查看版本
mvn archetype:create //创建 Maven 项目
mvn compile //编译源代码
mvn test-compile //编译测试代码
mvn test //运行应用程序中的单元测试
mvn site //生成项目相关信息的网站
mvn package //依据项目生成 jar 文件
mvn install //在本地 Repository 中安装 jar
mvn -Dmaven.test.skip=true //忽略测试文档编译
mvn clean //清除目标目录中的生成结果
mvn clean compile //将.java类编译为.class文件
mvn clean package //按照pom文件制定的打包方式和插件打包,生成的包会在target目录下
mvn clean test //执行单元测试
mvn clean deploy //发布到当前项目的jar包到本地仓库和远程仓库
mvn clean install //使其他项目使用这个jar,会安装到maven本地仓库中
mvn archetype:generate //创建项目架构
mvn dependency:list //查看已解析依赖
mvn dependency:tree //看到依赖树
mvn dependency:analyze //查看依赖的工具
mvn help:system //打印所有可用的环境变量和Java系统属性

mvn help:active-profiles //查看当前激活的profiles
mvn help:all-profiles //查看所有profiles
mvn help:effective-pom //查看完整的pom信息

mvn help:effective-settings//查看有效setttings配置

mvn -X // 查看当前项目的所有mvn配置

Maven 属性【变量】

Maven共有6类属性:

  1. 内置属性(Maven预定义,用户可以直接使用)

    ${basedir}表示项目根目录,即包含pom.xml文件的目录;

    ${version}表示项目版本;

    p r o j e c t . b a s e d i r 同 {project.basedir}同 project.basedir{basedir};

    ${project.baseUri}表示项目文件地址;

    ${maven.build.timestamp}表示项目构件开始时间;

  2. POM属性(使用pom属性可以引用到pom.xml文件对应元素的值)

    ${project.build.directory}表示主源码路径;

    ${project.build.sourceEncoding}表示主源码的编码格式;

    ${project.build.sourceDirectory}表示主源码路径;

    ${project.build.finalName}表示输出文件名称;

    p r o j e c t . v e r s i o n 表示项目版本 , 与 {project.version}表示项目版本,与 project.version表示项目版本,{version}相同;

  3. 自定义属性(在pom.xml文件的标签下定义的Maven属性)

       <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
    

    在其他地方使用${maven.build.timestamp.format}使用该属性值。

  4. settings.xml文件属性(与pom属性同理,用户使用以settings.开头的属性引用settings.xml文件中的XML元素值)

    ${settings.localRepository}表示本地仓库的地址;

  5. Java系统属性(所有的Java系统属性都可以使用Maven属性引用)

    使用mvn help:system命令可查看所有的Java系统属性;

    System.getProperties()可得到所有的Java属性;

    ${user.home}表示用户目录;

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

    使用mvn help:system命令可查看所有环境变量;

    ${env.JAVA_HOME}表示JAVA_HOME环境变量的值;

代码中使用Maven属性

通过在application.yml 或者 application.properties 配置文件中设置对应的属性,然后再通过@Value()引用配置文件的变量。具体如下

  1. 第一步:在pom.xml中配置

    <build>
        <resources>
            <resource>
                <!--使用maven渲染properties-->
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
    
  2. 第二步:在yml中使用@@使用maven变量;在properties中使用${}使用maven变量

    # 当前是application.yml配置文件
    
    userhome: @user.home@
    localRepostory: @settings.localRepository@
    
    # 当前是application.properties配置文件
    
    project.dir=${project.build.directory}
    
  3. 第三步:在java代码中使用

    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
    @Slf4j
    public class ApplicationTest {
    	@Value("${project.dir}")
        private String projectDir;
    
        @Value("${userhome}")
        private String userHome;
    
        @Value("${localRepostory}")
        private String localRepostory;
    
        @Value("${timestamp}")
        private String timestamp;
    
        @Test
        public void test(){
            System.out.println("projectDir~~~~~~~~~~~~~~~~~~~"+projectDir);
            System.out.println("userHome~~~~~~~~~~~~~~~~~~~"+userHome);
            System.out.println("localRepostory~~~~~~~~~~~~~~~~~~~"+localRepostory);
            System.out.println("timestamp~~~~~~~~~~~~~~~~~~~"+timestamp);
        }
    }
    
    
    控制台输出:
        
    projectDir~~~~~~~~~~~~~~~~~~~D:\workspace-boyun\boyunproduct_6.0\bocloud.cop\bocloud.cop.booter\target
    userHome~~~~~~~~~~~~~~~~~~~C:\\Users\\a
    localRepostory~~~~~~~~~~~~~~~~~~~D:\\MavenWarehouseBoCloud
    timestamp~~~~~~~~~~~~~~~~~~~20240123-1513
    

IDEA中使用Maven

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1798055.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

问题:卫生事业的发展受多种因素的影响和制约,以下属于卫生事业发展影响因素的有(? ?)。 #微信#其他

问题&#xff1a;卫生事业的发展受多种因素的影响和制约&#xff0c;以下属于卫生事业发展影响因素的有&#xff08;? ?&#xff09;。 A、经济水平 B、管理水平 C、人口素质 D、科技发展 参考答案如图所示

全面解析:渗压计数据如何预测地下水趋势

随着人们对水资源日益增长的需求和对环境保护意识的提升&#xff0c;地下水位的监测和预测成为了水利工程和环境科学领域的重要研究内容。渗压计作为一种能够测量土壤或岩石中孔隙水压力的仪器&#xff0c;在地下水位的监测中发挥着关键作用。本文将从渗压计的工作原理、安装方…

Ubuntu系统安装docker以及安装yg系统所能使用到的插件

Ubuntu系统安装docker以及安装yg系统所能使用到的插件 前言&#xff1a;建议大家使用ubuntu系统的时候&#xff0c;直接永久关闭防火墙目前我们处于学习状态&#xff0c;这样有利于提高开发效率。 项目地址&#xff1a;https://github.com/xzhHas/yg 文章目录 Ubuntu系统安装do…

Windows搭建apache网站

1、官网下载安装包&#xff0c;注意下载服务器对应操作系统的安装包&#xff08;此案例为64位操作系统&#xff09; Apache VS17 binaries and modules downloadFor (business) webmasters, developers and home-users who want running always up to date Windows VS17 binar…

RK3568笔记三十:PP-ORCv3自训练部署

若该文为原创文章&#xff0c;转载请注明原文出处。 一、介绍 PP-OCR 是百度公布并开源的OCR领域算法&#xff0c;一个轻量级的OCR系统&#xff0c;在实现前沿算法的基础上&#xff0c;考虑精度与速度的平衡&#xff0c; 进行模型瘦身和深度优化&#xff0c;使其尽可能满足产业…

Django request.POST获取提交的表单数据

在Django中&#xff0c;request.POST 是一个特殊的属性&#xff0c;它是一个类似于字典的对象&#xff0c;用于访问通过POST方法提交的表单数据。如果你在视图中使用 print(request.POST.get(username))&#xff0c;这通常意味着你正在尝试从一个HTML表单中获取一个名为 userna…

映宇宙:多基础设施下,如何进行数据库选型升级|OceanBase 《DB大咖说》(五)

随着多基础设施成为行业发展的主流趋势&#xff0c;数据库选型时需要考虑哪些关键因素&#xff1f;对于云数据库的升级策略&#xff0c;又该如何制定&#xff1f;OceanBase《DB 大咖说》第五期特别邀请了映宇宙&#xff08;原映客&#xff09;的数据库负责人赵智博先生&#xf…

DENet:融合全局与局部,多模块策略,超越传统分割方法,提升青光眼筛查精度

DENet&#xff1a;融合全局与局部&#xff0c;多模块策略&#xff0c;超越传统分割方法&#xff0c;提升青光眼筛查精度 提出背景精细拆解A. 全局视网膜图像层面B. 视盘区域层面 提出背景 论文&#xff1a;https://arxiv.org/pdf/1805.07549 代码&#xff1a;https://github.…

使用mysqldump迁移MySQL数据

将Windows系统中MySQL数据导出到其他系统中MySQL数据库中 1.导出数据 进入MySQL安装目录的bin目录下&#xff0c;打开dos窗口执行以下命令 --single-transaction 参数表示不锁表 1.1 指定部分表导出 mysqldump -u用户名 -p密码 数据库名 表1 表2 表3 --single-transact…

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:测控巡检智能机器人

是集研发、生产、制造、销售为一体的高新技术企业&#xff0c;是国内"皮带机智能巡检"领域的技术引领者。公司先后获得国家级高新技术企业、太原市市级企业技术中心、太原市技术创新示范企业、山西省民营科技企业、山西省专精特新中小企业、山西省四新中小企业、太原…

【经验分享】搭建电商项目过程中关于淘宝APP商品数据采集的要点

淘宝APP商品采集的注意事项和应用可以归纳为以下几点&#xff1a; 注意事项&#xff1a; 遵守平台规则&#xff1a; 在进行淘宝商品采集时&#xff0c;务必遵守淘宝平台的相关规则&#xff0c;不得采集敏感信息&#xff0c;如用户隐私、商家敏感数据等。尊重商家权益&#xf…

PMP考试技巧和PMP考试大纲

今日分享PMP考试技巧&#xff0c;文末附上PMP考试大纲&#xff0c;你会喜欢的! PMP考试大纲&#xff1a;人员试题占比42% &#xff0c;流程试题占比50%&#xff0c;商业环境试题占比8%。 PMP解题策略 PMP考试默认条件 精准审题 E(Eye):找到题眼&#xff1b; K(Key):找到考…

ui自动化中,selenium进行元素定位,以及CSS,xpath定位总结

几种定位方式 简单代码 from selenium import webdriver import time# 创建浏览器驱动对象 from selenium.webdriver.common.by import Bydriver webdriver.Chrome() # 参数写浏览器驱动文件的路径&#xff0c;若配置到环境变量就不用写了 # 访问网址 driver.get…

视频大模型 Vidu 支持音视频合成;字节跳动推出语音生成模型 Seed-TTS 丨 RTE 开发者日报 Vol.221

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE&#xff08;Real-Time Engagement&#xff09; 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…

618什么数码好物值得入手?优质数码清单分享,错过等明年!

在到来的618年中大促&#xff0c;各种数码好物竞相亮相&#xff0c;正是您更新装备、升级体验的黄金时刻&#xff0c;在这个购物的狂欢节里&#xff0c;我们特别为大家准备了一份精选的优质数码清单&#xff0c;帮助大家从海量的选择中筛选出真正值得入手的宝贝&#xff0c;这些…

问题:与十六进制数AB等值的二进制数是()。 #其他#经验分享

问题&#xff1a;与十六进制数AB等值的二进制数是&#xff08;&#xff09;。 A&#xff0e;10101011 B&#xff0e;10011010 C&#xff0e;10101010 D&#xff0e;11011100 参考答案如图所示

CSS实现3个圆点加载动画

加载动画主要使用了css的animation和transform属性&#xff0c;animation用来实现动画效果&#xff0c;transform实现过渡&#xff0c;让动画看起来更真实 一、html <div class"loadding-box"><div class"dot1"></div><div class&qu…

根据AgentLego 搭建多工具智能体

操作目的和工具介绍 操作目的&#xff1a; 本操作文档旨在指导用户如何使用 AgentLego 进行智能体构建。AgentLego 是一个开源的智能体算法库&#xff0c;它提供了一系列工具和接口&#xff0c;使开发者能够轻松地构建和部署智能体。 工具介绍&#xff1a; AgentLego 支持直接…

【ARM Cache 系列文章 1.2 -- Data Cache 和 Unified Cache 的详细介绍】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 Data Cache and Unified Cache数据缓存 (Data Cache)统一缓存 (Unified Cache)数据缓存与统一缓存的比较总结 Data Cache and Unified Cache 在 ARM架构中&#xff0c;缓存&#xff08…

让编程变得更加直观与高效 “JAVA图形化编程”官网上线!

公测预约开启 我们历经了长达三年的时光&#xff0c;执着地坚守并潜心地进行探索&#xff0c;始终怀着一颗敬畏的心&#xff0c;最终极为谨慎地推出了这款图形化编程桌面。它能够使得业务与程序清晰明了地呈现&#xff0c;而且还能与传统的低零代码平台实现紧密…