关于Maven的配置与学习

CS算法实战:用MATLAB从零实现SAR点目标成像(附完整代码) 本文详细介绍了如何使用MATLAB从零实现SAR点目标CS成像算法,涵盖Chirp Scaling(CS)算法的核心理论、距离徙动校正(RCMC)和方位压缩等关键步骤。通过完整的代码示例和实战技巧,帮助读者掌握SAR成像处理算法,提升遥感图像处理能力。 阅读详情

1. 简介

官方说法:Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

个人译文:Apache Maven是一款软件项目管理及综合工具。基于项目对象模型这个概念,Maven能够从一个中心信息块管理项目的构建,报告和文档。

个人对于Maven的直观感受就是工程项目被生命化了,从一个项目的初始到开发结束,它都在帮助开发者做后援工作,相当于助长剂。对于我来说主要的是项目依赖问题,不用自己去拷jar包确实是方便许多。

2. Windows下安装和配置

某些IDE已经是集成了Maven了(例如:idea),但是这里还是说一下怎么从官网下载并且配置环境变量

2.1 下载Maven

Maven官网:https://maven.apache.org/
进入官网后可以点击Download下拉可见有多个下载链接。如果不是特殊爱好/用途,下载头两个压缩包其中一个解压就可以。

2.2 配置Maven

解压后进入我的电脑(右击)->属性->高级系统设置->环境变量,进入后点击新建..,变量名为M2_HOME,变量值为自己解压后Maven的位置,我这里为C:\tool\apache-maven-3.5.0

经过上面的配置变量已经有了,但是还需要配置Windows系统变量,这样才找的到Maven的路径(在cmd模式下使用mvn命令),这里只需要将%M2_HOME%\bin;加入到Path的最前端就可以了,如下图:
这里写图片描述

通过以上的配置在cmd下键入mvn -version出来一大串信息,包括Maven路径、版本等信息就说明配置成功

2.3 配置Maven镜像和本地仓库

本地仓库会从把从别的地方的jar包下载后本地保存,相当于一个缓存,如果说不配置它默认会下载至${user.home}/.m2/repository,如果需要配置到一个特定的目录只需要进入Maven的解压目录/conf/setting.xml文件,使用编辑器打开,然后修改里面的配置<localRepository>C:/...../localRepository</localRepository>

在使用Maven管理依赖时,它可能会去别的仓库下载jar包,有可能网速会受到限制,所以使用镜像下载是一个比较好的选择,这里我使用了阿里的镜像。
在setting.xml,我们可以看到下方有<mirrors></mirrors>这一个项,这里只需要向里面添加代码

<mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>      
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

3. Maven仓库

关于Maven的仓库这里可以简单的理解为存放jar包的地方,一个云盘。
但是,关于存放的位置还是有略微的区别,有远近之分,近的看来有本地仓库和私服远的有中央仓库和其他私人仓库

  • 本地仓库:通过本地存储依赖包,在项目构建需要时直接提供
  • 私服:由个人/组织搭建,在局域网上的服务器运行,由该服务器提供依赖包
  • 中央仓库:Maven依赖包的主要来源
  • 其他私人仓库:需要使用的依赖包在他人服务器而不在在中央仓库没有的情况下,需要自己配置远程的仓库,它在中央仓库找不到下会去该仓库查找,其配置如下:
<repositories>
      <repository>
         <id>companyname.lib1</id>
         <url>http://download.companyname.org/maven2/lib1</url>
      </repository>
</repositories>

按照个人理解,画了一个图,如下:
这里写图片描述

4. Maven的生命周期

4.1 clean周期

周期阶段具体描述
pre-clean执行一些清理前需要完成的工作
clean清理上一次构建生成的文件
post-clean执行一些清理后需要完成的工作

在每一个周期有相应的Maven命令,比如,在重新构建项目需要把前面的清除,则可以在当前项目目录下cmd模式输入mvn clean || mvn post-clean

4.2 default周期

在default周期中包含了很多个阶段,其中这里列出比较常用的

周期阶段具体描述
compile编译该项目的源代码
test运行测试使用合适的单元测试框架
package提取编译后的代码,并在其分发格式打包,如JAR,WAR或EAR文件
install将包安装到本地存储库,它可以用作当地其他项目的依赖
deploy复制最终的包到远程仓库与其他开发者和项目共享

关于install,可以使用mvn install命令将我们自己的项目添加/安装到我们的本地仓库,比如,我们在多模块开发时,因为项目的依赖有些模块是完全相同的,所以我们可以建立一个父工程,让其他相关的模块继承该父工程。父工程的打包方式是pom,这里在子工程中编译项目时就会遇到父工程依赖不存在的一些错误,这时就需要使用上述的命令mvn install将我们的项目安装到本地仓库。对于Maven工程,自己写的库需要打成jar包让其他项目依赖,也可以使用该命令

4.3 site周期

siet生命周期能够生成一些网页信息(基于POM所包含的信息)

周期阶段具体描述
pre-site执行一些在生成项目站点之前需要完成的工作
site生成项目站点文档
post-site执行一些在生成项目站点之后需要完成的工作
site-deploy将生成的项目站点发布到服务器上

当我使用之前博客上的Spring Boot会员系统测试site命令时 执行了mvn site可在项目路径下看到target/site/index.html,点开后有关于该项目的各种依赖的详细信息,如下图:
这里写图片描述

在上述的周期中对应着各种Maven命令,有些命令可以同时键入,比如:mvn clean package,每个命令的执行都与Maven提供的插件有着一些密不可分的关系,这里可以看下这里的链接:

https://www.yiibai.com/maven/maven_build_life_cycle.html
https://blog.youkuaiyun.com/chaofanwei/article/details/36197183
https://www.cnblogs.com/build-up/p/4975827.html
https://www.cnblogs.com/avivaye/p/5341341.html

5. 项目开发中的Exception

这里举出两个例子,其一:

maven打包时报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test
这里可能是因为在打包时会自动执行测试命令,而Junit测试不通过导致的打包不成功,只需要添加下面的配置即可:

<plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-surefire-plugin</artifactId>  
        <version>2.4.2</version>  
        <configuration>  
          <skipTests>true</skipTests>  
        </configuration>  
</plugin>

其二:
在web项目中使用servlet和jsp时需要引入依赖来解决错误,但是在web发布时打成war包部署到tomcat就会报错,提示信息大概是类之间有冲突。这是因为tomcat已经有包含了servlet的依赖包,因此报错,这里只要在servlet和jsp的依赖中加入一个scope配置,如下:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
    <scope>provided</scope>
</dependency>

在上面的依赖的scope中包含了几个选项,主要如下:

分类使用范围
compile编译(compile)时需要,测试时需要,运行时需要,打包时需要
provided编译(compile)时需要,测试(test)时也需要 ,运行时不需要,打包时不需要
runtime编译时不需要,测试时需要,运行时需要,打包时需要
test编译时不需要,测试时需要,运行时不需要,打包也不需要

除了以上还有一个是system,但是个人没有怎么使用所以这里不做说明

6. 总结

关于以上的东西,个人在见解上可能还存在偏差,但是,Maven作为项目管理的一个工具,只需要把工具的主要功能发挥出来就行了。现在该要纠结的不应该是Maven存在的那些复杂的东西,而是把自己的代码写好先

参考链接
https://maven.apache.org
https://www.yiibai.com/maven/
https://baike.baidu.com/item/Maven/6094909?fr=aladdin
https://blog.youkuaiyun.com/zjf280441589/article/details/53044308
https://www.cnblogs.com/li3807/p/6416197.html

CANoe制作网关实现CAN(FD)报文故障注入(报文长度/timeout/信号错误/E2E)2 CANoe制作网关实现CAN报文故障注入(报文长度/timeout/信号错误/E2E) 2.新建CANoe工程 3.透传功能 4.故障注入panel面板 5.CAPL代码 5.1故障注入开始、停止、定时 5.2DLC故障注入 5.3 Timeout故障注入 5.4 信号故障注入 阅读详情

相关推荐

嵌入式开发避坑指南:手把手教你用STM32CubeMX配置W9825G6KH SDRAM(含时序参数详解)

本文详细介绍了如何使用STM32CubeMX配置W9825G6KH SDRAM,包括硬件连接检查、CubeMX初始化步骤、时序参数优化及稳定性问题排查。通过实测波形分析和案例分享,帮助开发者避免常见配置错误,提升嵌入式系统性能与稳定性。

weixin_42542669的博客 197

Maven 介绍,根据 Maven 官方文档整理

Maven官方文档是这样介绍的 Maven 的:Apache Maven 的本质是一个软件项目管理和理解工具。基于项目对象模型 (Project Object Model,POM) 的概念,Maven 可以从一条中心信息管理项目的构建、报告和文档。什么是 POM?每一个 Maven 工程都有一个pom.xml文件,位于根目录中,包含项目构建生命周期的详细信息。通过pom.xml文件,我们可以定义项目的坐标、项目依赖、项目信息、插件信息等等配置。项目构建:提供标准的、跨平台的自动化项目构建方式。

shiyunzhe2021的博客 882

SAP生产订单(创建-下达-发料-报工-入库)全流程及反向流程

SAP创建下达报工入库发料以及取消发料取消入库,批量下达删除关闭,生产订单出入库查询和状态更改查询记录

weixin_38974136的博客 2万+

Maven学习笔记

Maven的基本概念 Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information. 使用Maven可以方便地进行项目依赖管理

Carrot_kexin的博客 240

用友T3提示,年度[UFDATA_002_2017]并不存在,导致无法备份迁移。

用友T3提示,年度[UFDATA_002_2017]并不存在,导致无法备份迁移。现在都win11了某个年度账套不存在怎么办?

雨季余静的博客 3563

单片机课程设计——交通灯

单片机课程设计——交通灯一、课程设计主要内容1.1 题目1.2摘要1.3关键词二、设计要求三、设计方案四、参考电路设计4.1.1数码管的设计4.1.2对应程序4.2.1独立按键的设计4.2.2对应程序4.2.3 使用逻辑4.3.1LED模块的设置4.3.2 LED实物图4.3.3 LED显示程序五、调试要点5.1 单片机最小系统5.2 数码管模块5.3 LED模块5.4 独立按键六、总结七、成品图完整程序 一、课程设计主要内容 1.1 题目 交通灯设计 1.2摘要 近年来,随着我国国民经济的快速发展,我国机

PKPROTEUS的博客 3万+

Maven简介(一)

一、序言 我先看一下Apache官网的解释: Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and ...

zengwende的博客 212

SONiC (6) - SONiC 源码框架分析

https://github.com/sonic-net/sonic-utilitieshttps://github.com/sonic-net/sonic-snmpagenthttps://github.com/sonic-net/sonic-linux-kernelhttps://github.com/sonic-net/sonic-platform-commonhttps://github.com/sonic-net/sonic-platform-daemons以下是在 SONiC 中运行的容器列表:

qq_49477505的博客 1334

Maven入门介绍

这几个方面都是Maven的一些功能,Maven所提供的功能远比这强大的许多,不过对于我们在日常项目当中用到最多的就是管理第三方库的依赖、项目的构建。如果开发工具使用的是IntelliJ IDEA,自动就帮你安装好了Maven,不是的话,也可以参考下官方给出的Maven安装教程,也是比较简单的。接下来看下怎样用Maven来满足我们项目的日常需要

ZToDoList的博客 278

价值投资/指标选股(akshare)

利用akshare的数据源,可以获取所有的股票数据以及公开的财务数据,可以进行条件筛选,获取满足条件的股票。 这套模板可以用于价值投资,指标选股。选股周期为日线级别。然后结果可以邮箱发送。 import time import akshare as ak ## A 股上市公司的实时行情数据 stock_zh_a_spot_df = ak.stock_zh_a_spot() #print(stock_zh_a_spot_df) ##取前300测试 ##取前300测试 df_stock =...

qq_26742269的博客 1万+

提示工程ROI计算模板:架构师私藏Excel表(含自动计算)

花3个人力优化提示词,到底能带来多少实际收益?“这个提示工程项目值得做吗?投入10万成本,多久能回本?“不同LLM应用的提示词优化优先级怎么排?全凭经验拍脑袋?当前90%的企业在提示工程投入上缺乏标准化的量化评估方法,导致资源浪费(盲目投入无回报项目)或错失机会(低估高价值优化点)。ROI = (总收益 - 总成本) / 总成本 × 100%对于提示工程,总成本=显性成本+隐性成本,总收益=直接收益+间接收益(后文会详细拆解)。提示工程的价值不是“玄学”,而是可以用数据量化的投资行为。本文分享的。

AI开发架构师 1075

Maven学习笔记(1)Maven的作用

什么是Maven Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information. 以上就是官网的描述,也就是说maven是一个

liutao43的博客 379

C语言试题三之计算并输出 s=1+(1+2^(0.5))+(1+2^(0.5)+3^(0.5))+…+(1+2^(0.5)+3^(0.5)+…+n^(0.5))

1 、题目 计算并输出 s=1+(1+2^(0.5))+(1+2^(0.5)+3^(0.5))+…+(1+2^(0.5)+3^(0.5)+…+n^(0.5)) 2、部分函数说明 C 库函数 double pow(double x, double y) 返回 x 的 y 次幂。 3、源代码实现 #include <stdio.h> #include <...

码莎拉蒂 4609

JAVA框架类SSM学习准备之——IDEA的MAVEN配置

JAVA框架类SSM学习准备之——MAVEN配置 首先要去下载MAVEN包 点击这里去往下载地址. 下载完是一个压缩包,解压到当前文件夹即可 然后配置环境变量 ①我的电脑——>属性——>高级系统设置——>环境变量——>系统变量 ②在系统变量里新建,然后变量名:MAVEN_HOME 变量值为下载解压的文件的位置。比如我的就是: 然后确定即可 ③在系统变量里的Path里新建 %MAVEN_HOME%\bin如图: 然后测试有没有成功,用DOS命令mvn- version 打在cmd

weixin_43877761的博客 259

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Maven学习笔记_配置maven

Maven学习笔记_配置maven

Y_cen的博客 367

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Maven 安装、配置、学习

Maven1. 什么是maven?2. Maven目录结构3. Maven环境配置3.1 JDK下载配置3.2 Maven下载3.3 设置Maven环境变量4. IDEA创建Maven项目5. 配置Tomcat5.1Tomcat下载及配置6. 运行成功 1. 什么是maven? 2. Maven目录结构 3. Maven环境配置 3.1 JDK下载配置 默认已安装JDK1.5以上,控制台查看jdk版本 Java -version 3.2 Maven下载 下载地址:官网下载 3.3 设置Maven环境

377

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Maven的学习与配置详情

构建项目的工具 非maven项目 第三方jar, 需要自己下载添加, 拷贝到项目中, buildpath 自己的项目需要打包, 需要进行打包, 其他项目需要使用, 使jar拷贝到其他项目, 如果对应的项目更新, 需要手动进行更新(重新打包), 把其他项目之前的jar删除, 重新把新的jar拷贝到其他项目 jar之间的依赖关系, 需要自己了解 对项目整个构建(从项目开始, 编译, 测试, 运行, 到项目的结束’打包’), 每一步都需要手动操作 项目结构没有统一的标准, 多人, 多团队开发, 在项目合并出现

weixin_50633944的博客 101

JavaWeb学习阶段一Maven(maven安装配置,IDEA使用maven,导入maven项目、Maven插件和依赖管理)

JavaWeb学习阶段一Maven(maven安装配置,IDEA使用maven,导入maven项目、Maven插件和依赖管理) Maven Maven是专门用于管理和构建Java项目的工具,它的主要功能有: 提供了一套标准化的项目结构 提供了一套标准化的构建流程(编译,测试,打包,发布……) 提供了一套依赖管理机制 标准化的项目结构: 项目结构我们都知道,每一个开发工具(IDE)都有自己不同的项目结构,它们互相之间不通用。我再eclipse中创建的目录,无法在idea中进行使用,这就造成了很

我要记录学习博客 1089

Maven学习——Maven的下载、安装与配置(详细攻略!)

我在之前写了一篇博客,是介绍Maven的基本概念和下载安装,但是由于篇幅过长,Maven的下载与安装写的并不详细🐶,这里我又重新整理了一篇博客:Maven的下载和安装详细版(又水了一篇博客,嘿嘿🙂)之前的: Maven详解(学习、安装、配置)——看这个一篇就够了_maven包-优快云博客。

Future_yzx的博客 1万+

Maven 学习、IDEA配置Maven、创建 Maven Web 项目

Maven 配置与Idea 工具搭配

草木红的博客 2628

我的学习-maven的安装与配置

学习B站尚硅谷SSM

m0_72565029的博客 1562

maven的配置学习

maven 文件里需要配置的 重要的东西: 1.本地仓库一定有这个路径文件夹 2.设置一个镜像,国内的镜像 方便下载 <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>ali...

l23456789o的博客 172

maven学习:maven安装、maven仓库、Idea配置maven

解压下载下来的apache-maven-x.x.x-bin.zip文件, 把bin文件夹的路径设在环境变量里,新建环境变量MAVEN_HOME。在”环境变量界面”的”系统变量”中找到Path,选中,再点击”编辑”,把刚刚我们设置的环境变量MAVEN_HOME设置到path中,在PATH里加入maven的bin的路径,把光标移到path变量值得最后,然后输入 %MAVEN_HOME%/bin。idea与maven的版本需要兼容, 所以我们下载maven一定要下载idea版本之前日期的maven。

H215919719的博客 675

Maven学习—如何在IDEA中配置Maven?又如何创建Maven工程?(详细攻略)

本篇博客将详细的介绍在IDEA中如何配置Maven,以及如何创建一个Maven项目;

Future_yzx的博客 1万+

在IDEA上配置Maven及Maven学习笔记

Maven是什么? Maven 是目前最流行的自动化构建工具,可以帮助我们改进项目的开发和管理,类似的工具还有Ant,Gradle。 Maven可以用来做什么? 1.Maven可以帮忙管理jar文件 2.可以自动下载jar文件 3.帮助管理jar依赖以及jar的版本 4.帮助开发人员测试代码,打包文件,部署项目 基于Maven的项目的构建 构建一个项目需要以下环节: 清理,编译,测试,报告, 打包,安装,部署。 1.清理 , 把之前项目的编译文件删除。 2.编译,将.java编译为.class文件。Mave

scny让我琢磨半天的博客 332

maven01——学习配置maven

2步 第一步:在电脑上配置maven,和配置jdk环境变量相同 在环境变量 会在你的c盘users里面最高权限账户下添加一个.m2本地仓库 如果没有,打开控制台,使用mvn help:system命令,会创建目录。 在eclipse中配置windows->preferences 点击add,点击directory,添加你的maven目录 仓库简介 图片: 默认会到国外服务器,阿里也有 私服...

地铁和人海 454
上一篇: 课程作业——综合练习:英文词频统计
下一篇: Python中文词频统计
lger_Pro
博客等级 码龄10年 44粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值