6-Maven的使用

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;@Testpublic 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.mzph.cn/bicheng/23763.shtml

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

相关文章

【代码随想录】【算法训练营】【第30天】 [322]重新安排行程 [51]N皇后 [37]解数独

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 30&#xff0c;周四&#xff0c;好难&#xff0c;会不了一点~ 题目详情 [322] 重新安排行程 题目描述 322 重新安排行程 解题思路 前提&#xff1a;…… 思路&#xff1a;回溯。 重点&…

RabbitMQ--Hello World(基础详解)

文章目录 先决条件RabbitMQ 初识RabbitMQ--Hello World发送接收 更多相关内容可查看 先决条件 本教程假定 RabbitMQ 已安装并在标准端口 &#xff08;5672&#xff09; 上运行。如果你 使用不同的主机、端口或凭据&#xff0c;连接设置将需要 调整。如未安装可查看Windows下载…

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:桥梁结构安全监测

中国铁路设计集团有限公司&#xff08;简称中国铁设&#xff09;&#xff0c;原铁道第三勘察设计院集团有限公司&#xff08;铁三院&#xff09;&#xff0c;是中国国家铁路集团有限公司所属的唯一设计企业&#xff0c;成立于1953年&#xff0c;总部位于天津市&#xff0c;是以…

f4pga环境搭建教程

f4pga环境搭建教程 背景介绍 FOSS Flows For FPGA (F4PGA) project&#xff0c;是一套开源的FPGA工具链&#xff0c;号称the GCC of FPGAs&#xff0c;作用是将写的硬件描述语言&#xff08;verilog或VHDL&#xff09;转化为可以在FPGA上运行的可执行文件&#xff08;bit文件…

滨江区代理记账——专业、便捷的服务,让您的企业更加规范、高效

随着社会经济的发展和企业的规模扩大&#xff0c;依法纳税、做好财务工作变得越来越重要&#xff0c;而代理记账&#xff0c;就是这样一个专业的服务平台&#xff0c;为满足广大企业和个体户的会计需求&#xff0c;帮助他们规范财务管理&#xff0c;提高效率。 代理记账可以帮助…

基于R语言BIOMOD2 及机器学习方法的物种分布模拟与案例分析

原文链接&#xff1a;基于R语言BIOMOD2 及机器学习方法的物种分布模拟与案例分析https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247606139&idx4&snf94ec30bfb5fa7ac0320403d49db3b66&chksmfa821e9ccdf5978a44a9ba96f6e04a121c0bbf63beea0940b385011c0b…

MLU370-M8 chattts-ui快速出击

目录 一、paas平台环境选择二、代码环境准备1.代码下载2.环境安装modelsopetransformersaccelerate 3.常规pip安装4.代码修改4.代码修改 三.算法启动 一、paas平台环境选择 驱动选择&#xff1a;5.10.22及以上 镜像选择&#xff1a;pytorch2.1 二、代码环境准备 1.代码下载…

李廉洋:6.6黄金原油怎么看?今日行情分析及最新策略。

黄金消息面分析&#xff1a;美指走强未能抑制金价升势。黄金价格大幅上涨&#xff0c;在美国公布喜忧参半的经济数据后&#xff0c;金价与周二的走势发生180度大转弯&#xff0c;这些数据可能保证美联储设定的借贷成本降低。美国10年期基准国债收益率下跌3个基点&#xff0c;至…

Spring Cloud工程添加子模块打包后文件为war包而非jar包

Spring Cloud工程添加子模块打包后文件为war包而非jar包 Spring Cloud子模块打出的包通常是JAR包而非WAR包&#xff0c;这是因为Spring Cloud主要基于Spring Boot构建&#xff0c;而Spring Boot默认打包为可执行JAR包。然而&#xff0c;如果遇到了Spring Cloud子模块打成了WAR…

【论文阅读】SELF-RAG,让模型决策和反思检索

关于LLM何时使用RAG的问题&#xff0c;原本是阅读了关于ADAPT-LLM模型的那篇论文&#xff0c;被问到与SELF-RAG有何区别。所以&#xff0c;大概看了一下SELF-RAG这篇论文&#xff0c;确实很像&#xff0c;这些基于LLM针对下游任务的模型架构和方法&#xff0c;本来就很像。不过…

【Mybatis】源码分析-自定义框架

1、自定义持久层框架 1.1、分析JDBC操作问题 package blnp.net.cn.jvm.demos;import java.sql.*;/*** <p></p>** author lyb 2045165565qq.com* createDate 2024/5/24 14:24*/ public class JdbcTest {public static void main(String[] args) {Connection conne…

红酒保存中的软木塞与瓶身保护

云仓酒庄雷盛红酒&#xff0c;以其卓着的品质和精美的包装赢得了众多消费者的喜爱。在红酒的保存过程中&#xff0c;软木塞与瓶身保护是至关重要的环节。本文将深入探讨这两方面的问题&#xff0c;以帮助消费者更好地理解和欣赏云仓酒庄雷盛红酒。 首先&#xff0c;我们来谈谈软…

gitee上传整个项目文件夹

1.访问git官网并下载 Git 如下图&#xff1a; 点击download&#xff0c;然后选择合适的版本进行下载&#xff1a; 如下图&#xff0c;我下载的是2.32.0.2版本&#xff0c;64位windows版。 下载完之后&#xff0c;直接点击安装。 然后根据向导&#xff0c;一路默认到安装完成。…

SL3160 替换PN6008 耐压150V 降5V输出降压恒压芯片 脚位一样

在电子工程领域&#xff0c;芯片替换是一项常见且至关重要的任务。今天&#xff0c;我们将详细探讨SL3160芯片如何替换PN6008芯片&#xff0c;重点关注两者在耐压150V和降5V输出降压恒压方面的性能对比&#xff0c;以及它们脚位一致性的优势。 我们来了解一下SL3160和PN6008这两…

Java工程师的行业的生命周期

在现代商业环境中&#xff0c;理解行业的生命周期是每一个企业家、经理人以及市场分析师必须掌握的关键知识。行业的生命周期不仅决定了企业的战略方向&#xff0c;也影响着资源配置、产品开发、市场营销等各个方面。认识行业生命周期的重要性在于它能够帮助企业在不同的阶段采…

关于vue2 antd 碰到的问题总结下

1.关于vue2 antd 视图更新问题 1.一种强制更新 Vue2是通过用Object…defineProperty来设置数据的getter和setter实现对数据和以及视图改变的监听的。对于数组和对象这种引用类型来说&#xff0c;getter和setter无法检测到它们内部的变化。用这种 this.$set(this.form, "…

搜狗输入法的软键盘怎么关闭

我的搜狗输入法软件盘和typora中ctrlshiftk冲突了&#xff0c;关闭软键盘

2024.6.9周报

目录 摘要 ABSTRACT 一、文献阅读 1、相关信息 2、摘要 3、文献解读 1、Introduction 2、文章主要贡献 3、模型架构 4、实验 4、结论 二、代码实现 总结 摘要 本周我阅读了一篇题目为《Unlocking the Potential of Transformers in Time Series Forecasting with …

如何理解与学习数学分析——第二部分——数学分析中的基本概念——第8章——可微性

第2 部分&#xff1a;数学分析中的基本概念 (Concepts in Analysis) 8. 可微性(Differentiability) 本章讨论梯度(gradients)/斜率(slopes)和切线(tangent)&#xff0c;指出常见的误解并解释如何避免这些误解。将可微性的定义与图形表示联系起来&#xff0c;展示如何将其应用…

【2024】零基础Python 快速入门篇

2023年是AI的元年&#xff0c;AI的爆火不仅推动了科技领域的进步&#xff0c;更让 Python 语言成为了这一变革中的关键角色。 Python 语言简单易懂&#xff0c;语法清晰明了&#xff0c;懂一点英语的都能学得会。很适合在职场摸爬滚打多年的前端组长作为捅破天花板的语言&…