Maven认知

大数据专业认知实习 大数据专业认知实习 自我介绍 大家好,我是一名目前就读于兰州文理学院数字媒体学院数据科学与大数据技术专业的大一学生,你可以称呼我为Bob,现在请允许我简单介绍一下自己: 1)学习能力:我有较强的钻研精神,能熟练的操作Linux,能够使用c++、python、Java语言编程。 2)实践能力:我的专长是web前端,我希望能够在这一方面继续深造,曾经在学校的时候,用pycharm和IDEA实现web前端界面,运用SpringBoot+Thymeleaf+ECharts实现数据可视化。 3)交际能力:我的性格比较 阅读详情

1. 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 official website

Apache Maven是一个软件项目管理和理解工具。基于项目对象模型(POM)的概念,Maven可以管理项目的构建,报告和文件,从信息中心。

Maven采用一种“优先于配置(CoC)”的策略来管理项目。它不仅把源代码构建成可以发布的项目(包括编译、打包、测试和分发),还可以生成报告生成web站点等。——轻量级javaEE企业应用实战

2. 为什么用Maven

  1. maven项目依赖的本地仓库,没有jar包,项目比平常的项目要小很多,节省空间
  2. 不需要在每个项目靠同样的包,只需要在本地仓库有一份就行了
  3. maven可以带插件,如果导入配置了tomcat等插件的maven项目就不需要再配置本地tomcat了
  4. 一键构建项目,编译,测试,运行,打包,部署
  5. maven是java开发的自然是跨平台的
  6. 应用于大型项目,可以提高开发效率

3. Maven入门

3.1. 下载Maven

官网地址(这里下载的是apache-maven-3.5.0-bin.zip)

3. 2. 解压目录介绍

  1. bin:maven的可执行性文件
  2. boot:plexus-classworlds类加载器框架
  3. conf:相关配置文件
  4. lib:Maven的类库

3.3. 设置环境变量

  1. JAVA_HOME:JDK的安装路径
  2. MAVEN_HOME:Maven的安装路径
    ps:M2_HOME设置好后在path中注册一下:%M2_HOME%\bin;

3.4. 验证安装

打开cmd,输入mvn help:system,此时Maven会从网络上下载各种文件,当出现如下信息时表示安装成功了。
Maven Build Success

3.5. 设置Maven

3.5.1. maven 两种设置方式:

  1. 全局设置即通过Maven安装目录下的conf\settings.xml进行设置(推荐)
  2. 当前用户范围:通过${user.home}/.m2/settings.xml进行配置

3.5.2. maven参数配置

这里需要在maven配置文件中配置一个本地仓库,当然它有一个默认的在c盘,但是最好自己定义一个,配置方式参看:(3.5.3. settings相关配置参数)。

3.5.1. settings相关配置参数:

  1. (localRepository)配置本地仓库:

     <localRepository>D:/ide/Maven/LocalRepository</localRepository>
  2. (interactiveMode)与用户交互:true提示用户输入,false智能选择默认值

  3. (offline)设置maven是否为离线状态:false,当maven找不到本地插件、依赖库时会尝试从网络下载
  4. (proxies)设置Maven代理服务器:设置代理服务器,包括代理服务器的ID、协议、代理服务器的地址、端口、用户信息、密码等信息

3.6. Maven常用命令

  1. mvn tomcat:run:一键启动tomcat
  2. mvn clean:清理编译好的文件(target文件夹)
  3. mvn compile:编译主目录的文件
  4. mvn test :编译test下的文件
  5. mvn packge:打包,放在了target目录下
  6. mvn install :将项目推送到本地仓库(推jar包,war包没有什么作用)
    compile,test,package,install有执行顺序:
    执行后者会把它前面的也都执行了(这就是mvn的声明周期的概念)

4. Maven核心概念

4.1 Maven生命周期

不同生命周期的命令可以同时执行例:mvn clean package
以下只包含主要的阶段(phase):

  1. clean 生命周期:clean
  2. default 生命周期:compile,test,package , install,deploy(发布到私服上)
  3. site声明周期:site 生成项目说明文档

4.2 Maven 的坐标

4.2.1 项目坐标

pom需要为每个项目配置一个唯一的标识,这个标识就是坐标

<!-- 公司域名或组织名-->
<groupId>net.hncu</groupId>
<!-- 项目名-->
<artifactId>ssmTest</artifactId>
<!--打包方式-->
<packaging>war</packaging>
<!-- 版本-->
<version>1.0-SNAPSHOT</version>

4.2.2 依赖的坐标:

pom中可以依赖其他项目的jar包

<dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.7</version>
</dependency>

4.3 Maven插件和目标

Maven的强大之处来自于它的插件,Maven的所有功能几乎都是由插件完成的。Maven生命周期其实也是由Maven的各个插件完成的。

 <build>
    <plugins>
      <plugin>
        <!--插件坐标-->
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <!--插件执行详情-->
        <executions>
          <execution>
            <!--绑定到compile阶段-->
            <phase>compile</phase>
            <!--执行的目标插件-->
            <goals>
              <goal>compile</goal>
            </goals>
            <!--执行相关参数-->
            <configuration>
              <source>1.8</source>
              <target>1.8</target>
              <encoding>utf-8</encoding>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

如上代码,是以Maven的编译插件为例,我们必要配置plugin的坐标,同时我们可以配置它的详情,它在哪个阶段执行、它执行什么目标、执行插件目标的参数

4.4 Maven依赖

就是对项目中jar 包的管理。可以在pom文件中定义jar包的GAV坐标,管理依赖。

<dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.7</version>
</dependency>

4.4.1. Maven依赖范围

依赖范围是通过scope来设置的

  • Compile 例:struts2-core
    范围:编译(compile) 、测试(Test),运行(),打包
  • Provided 例: jsp-api.jar servlet-api.jar
    范围:编译(compile)时需要,测试(test)时也需要 ,运行时不需要,打包时不需要
  • Runtime 例: jdbc
    范围:编译时不需要,测试时需要,,运行时需要,打包时需要
  • Test 例:junit.jar
    范围:编译时不需要,测试时需要,运行时不需要,打包也不需要

4.4.2. 依赖传递

如果B中使用A,C中使用B,则称B是C的直接依赖,而称A是C的间接依赖。

  • 当第二依赖的范围是compile的时候,传递性依赖的范围与第一直接依赖的范围一致。
  • 当第二直接依赖的范围是test的时候,依赖不会得以传递。
  • 当第二依赖的范围是provided的时候,只传递第一直接依赖范围也为provided的依赖,且传递性依赖的范围同样为 provided;
  • 当第二直接依赖的范围是runtime的时候,传递性依赖的范围与第一直接依赖的范围一致,但compile例外,此时传递的依赖范围为runtime;

4.4.3. 依赖冲突

  • 如果直接与间接依赖中包含有同一个坐标不同版本的资源依赖,以直接依赖的版本为准。
    即:假如项目A中包含junit 3.9,B中包含junit 4.1,B依赖A,C依赖B,C会选择最近的B中的junit4.1
  • 如果直接依赖中包含两个不同版本的包,会选择配置下方的为准。

4.4.4 解决冲突

4.4.4.1 从父类角度
可以配置optional阻止向下传递

<!--true不传递,默认false-->
<optional>true</optional>

4.4.4.2 从子类 角度
可以配置排除依赖,排除依赖包中所包含的依赖关系,不需要版本号

<exclusions
    <exclusion>
        <groupId>com.qf.maven</groupId>
        <artifactId>maven-first</artifactId>
    </exclusion>
</exclusions>

4.5 Maven的资源库

4.5.1. 本地资源库

在本机上的一个文件夹,所有Maven用的插件、jar包都在这里,当此处没有时会去远程下载

4.5.2 远程资源库

一般由某个司或团队自己维护,通过远程库可以让公司或团队都用同样的jar系统,如果没有找中央仓库

4.5.3 中央仓库(默认)

由Maven官方维护。

5. pom.xml

基于深度学习方法(7种)的高光谱与多光谱图像融合(附代码+3个数据集获取) 其他不懂的可以把代码发给AI哦,让它给你解读。 阅读详情

相关推荐

电磁阀的符号解读

先数方框数量定“几位”(工作位置数 );数接口数量(P、A、R等 )定“几通”;看箭头、截断符号,结合常态位(弹簧侧/中间位 ),分析通电/断电时的通路切换;字母(P、A、R )、线圈(单/双电控 )、弹簧(复位 )辅助确认功能(如NO/NC对应常态通断 )。不同厂家符号细节(如编码、线圈画法 )有差异,遇到陌生符号,建议结合产品手册、品牌规范核对,就能精准读懂电磁阀的“语言”啦~

创新改变世界! 6883

Maven基础认识

Maven认识 maven是一个项目管理工具。它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑 Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 Maven能解决什么问题 我们需要引用各种jar包,尤其是比较大的工程,引用的jar包往往有几十个乃至上百个,每用一种包都需要手动引入工程

weixin_43591127的博客 311

VCSA的vmware-updatemgr服务无法启动和vSAN界面报“certificate chain is not trusted and thumbprint doesn‘t match”处理

"Unable to update CM service info"和"Server certificate chain is not trusted and thumbprint doesn't match"问题处理

jetliu05的博客 1882

带你认识什么是maven

一、maven了解 Maven 是一个项目管理和构建自动化工具。但是对于我们程序员来说,我们最关心的是它的项目构建功能。所以这里我们介绍的就是怎样 用 maven 来满足我们项目的日常需要。 Maven 使用惯例优于配置的原则 maven的仓库默认路径 一般在用户的(.m2)文件下 例如工程的jar依赖就是放在repository文件夹下 仓库(储存东西的地方)默认路径可修改,在settings下修改 二、怎么样理解什么是仓库 例如:在pom.xml配置文件,配...

皮皮治不痞痞 310

再见 n8n?Google Opal 实测:一句话生成 APP,这才是 AI 的正确打开方式!

Google Opal深度评测:这款自然语言生成工作流的AI工具,通过三个实战案例(科技早报生成器、冰箱食谱助手、爆款文案转译机)展示了其零代码开发的强大能力。它凭借Gemini 3.0 Pro和Google生态的无缝集成,将自动化门槛降至新低,预示着一个“意图驱动开发”的新时代。

莫潇羽的个人博客 848

关于Fluent模拟中的动态接触角UDF实现,详细设计

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1142

对Maven的简单认知

什么是Maven? Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。是Apache下的一个纯java开发的开源项目,他是一个项目的管理工具,对java项目进行构建,依赖管理。管理项目的整个生命周期,项目的生命周期:构建项目、编译、运行、测试、打包、生成文档、发布等各个环节都可以进行管理。。 它负责管理项目开发过程中的几乎所有的东...

weixin_43542197的博客 209

【Unity小游戏】整整一个周末写一款《皇室战争 玩法》 的 即时战斗类 游戏Demo。两万多字游戏制作过程+解析

Unity游戏制作,本篇文章介绍了复刻皇室战争玩法的一个自制小游戏,共有该游戏的两万字教程加制作过程,欢迎品尝! 世界上没有绝对的公平,如果我们起点就比别人第一步,那就更需要比别人努力了。

努力前行,总会成为自己心中的那道光 12万+

谈下我认知的Maven

什么是MavenMaven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中..**Maven是一款跨平台的项目管理工具,**是一个开源的项目...Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理...POM怎么理解呢???我们...

拉萨之虎的博客 1316

弱小目标检测跟踪算法研究(5) 基于顶帽变换(Top_hat)算法的红外弱小目标检测之背景抑制

基于顶帽变换(Top_hat)算法的红外弱小目标检测之背景抑制1. 前言2. 顶帽变换(Top_hat)算法3. Matlab仿真4. 小结 1. 前言 红外图像中的弱小目标,目标属性包涵“弱"和“小’’两个方面:“弱’’是指目标在红外波长上所表现出来的强度,具体反映到所拍摄的红外图像上,就是指目标的灰度值;而“小’’是指目标的尺寸大小,也就是前面所述的成像面积很小,反映到红外图像上就是指目标所占的像素数目很少。 SPIE国际光学工程学会(Societyof Photo一0ptical Instrument

sinat_34897952的博客 5291

论文翻译:Automatic Lesson Plan Generation via Large Language Models with Self-critique Prompting

在本文中,我们利用大型语言模型(LLMs)的理解和生成能力来自动生成定制化的课程计划。这解决了传统计划可能无法充分满足不同教学环境和学生群体的特定需求的常见挑战。我们提出了一个新颖的三阶段过程,包括使用检索增强生成(RAG)逐步生成课程计划的每个关键组成部分,通过LLMs进行自我批评,以及随后的细化。我们使用这种方法为小学2至5年级生成了涵盖80多个主题的数学课程计划。邀请了三位经验丰富的教育工作者制定全面的课程计划评估标准,然后使用这些标准将我们的LLM生成的课程计划与同一主题的实际课程计划进行基准比较。

CSPhD-winston的博客 1100

MAVEN框架:多智能体协作中的步内认知审计与验证机制

在多智能体系统与人工智能协作领域,如何确保多个智能体在复杂任务中协同工作的可靠性与决策透明度,一直是核心挑战。其原理在于通过角色化分工与结构化交互流程,引入实时监督机制,对智能体的推理过程进行动态评估与校准。这一机制的技术价值在于显著提升系统的输出质量、逻辑一致性与可解释性,尤其适用于自动化代码审查、智能决策支持、内容生成等高要求场景。其中,步内审计作为关键创新,能够即时打断错误推理链,防止“垃圾进、垃圾出”的循环,而验证者与阐述者的协同则确保了问题被深度识别与有效解决。本文探讨的MAVEN框架,正是这一前

weixin_28829339的博客 309

基于BenchmarkSQL的达梦数据库TPCC性能测试

中的用户和密码在达梦数据库中创建测试用户,并保证其表空间足够容纳生成的测试数据。如果开启了归档,还要考虑归档日志占用的空间。BenchmarkSQL默认不支持达梦数据库。这里我们让BenchmarkSQL把达梦数据库当作Oracle即可。Oracle数据库对应的测试配置文件为。是使用BenchmarkSQL进行性能测试的主要配置文件。是生成的测试报告,png文件是报告中包含的图片。拷贝达梦数据库驱动到BenchmarkSQL的。测试结束后,会在当前路径下生成一个以。规则命名的结果目录。

Sebastien23的博客 2634

菜鸟学工具——maven认知

Maven是什么?     Maven是Apache下的一个纯Java开发的开源项目,一个项目管理的工具,使用Maven对Java项目进行构建,依赖管理。目前使用maven管理的项目在持续增长,注意maven只能用来管理Java项目。 何为项目构建? 从源码编写到编译、测试、运行、打包、部署运行的过程 Maven项目VS传统项目构建 Eclipse构建项目的过程:     构建过程:

漫漫长途,终有回转;余味苦涩,终有回甘 444

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Springboot毕设项目儿童认知图文辅助系统6yhkv(java+VUE+Mybatis+Maven+Mysql)

Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。若包含,则为maven项目,否则为非maven项目。Springboot毕设项目儿童认知图文辅助系统6yhkv(java+VUE+Mybatis+Maven+Mysql)Springboot + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。其他版本理论上也可以。

南方计算机程序 545

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Maven——maven概述、配置maven、eclipse或idea创建maven项目、maven项目结构认知(pro.xml)、maven生命周期、多模块maven项目

jar包的声明作用范围: test:指的是该jar包只能在测试程序中使用,不能在主程序中使用;只参与生命周期中的编译打包,不参与部署 provided:指的是jar包可以在主程序和测试程序中使用,只参与项目生命周期中的编译打包,不参与部署 compile:jar包默认作用范围,可以在主程序中使用,也可以在测试程序中使用,并且参与项目生命周期所有阶段

Today_He的博客 684

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Maven的目录结构

对于maven来讲,约定优于配置,maven约定了一套规则来创建和构建我们的项目。得益于maven的一些约定,我们只要学习相对很少的命令就可以创建和管理我们的项目。在项目的目录结构上,maven有一套约定的通用的目录结构。 使用一套通用的目录结构的好处是,可以减少开发人员熟悉不同Maven项目时的认知负担。在使用相同的目录结构的情况下,开发人员可以很快的熟悉一个项目。接下来,我们将开始介绍Mave...

liuurick的博客 480

Maven学习(一) 简介、安装、配置

虽然当前工作使用的是maven 项目 配置spring boot使用 但是对maven 的认知还是比较零散,进行一个记录 学习地址:https://www.majiaxueyuan.com/front/couinfo/56 目录 1.maven简介 2.maven安装 3.maven配置 1.maven简介 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的...

GinChou的萌新博客 271

java 调用 讯飞星火认知

API相关视频讲解:DLL动态链接库创建Java调用讯飞星火认知 近年来,人工智能技术已经成为了各行各业中不可或缺的一部分。讯飞星火认知是讯飞科技推出的AI开放平台,为开发者提供了丰富的人工智能技术接口和服务,方便开发者快速实现智能化应用。本文将介绍如何使用Java语言调用讯飞星火认知的API,并通过示例代码演示具体实现...

weixin_32884263的博客 675

MAVEN利器:一文带你了解IDEA中如何使用Maven

在上一篇文章中,我们学习了如何在自己的电脑环境中安装MAVEN软件,但实际上我们日常使用中并不是一直在命令行中使用MAVEN的,我们更多的是基于IDEA编译器来使用MAVEN,那么我们今天就来学习如何在自己的IDEA中配置MAVEN。

fckbb的博客 8675

Maven的简介以及Maven安装配置

打开IDEA,点击菜单栏中的【File】选择【New Projects Settings】选择【Settings For New Projects】进入IDEA配置,找到【Build,Execution,Deployment】菜单栏中的【Build Tools】中找到Maven。那么我们可以将需要的依赖项的信息编写到Maven工程的配置文件,Maven软件就会自动下载并复制这些依赖项到项目中,也会自动下载依赖需要的依赖!通过 Maven,我们可以方便地维护项目所依赖的外部库,而我们仅仅需要编写配置即可。

2301_80309994的博客 2585

MAVEN的安装与配置以及配置MAVEN镜像为阿里云

MAVEN的安装与配置 如需配置MAVEN链接阿里云的镜像请直接查看 (三、配置MAVEN本地仓库 的第四步) 一、需要的东西 1.JDK(上一章已经详细讲解了https://blog.youkuaiyun.com/map_cx/article/details/89471218) 2.Eclipse 3.MAVEN的程序包 二、下载(因为MAVEN不需要安装) 1.下载: https://maven.ap...

胡椒码农的博客 5万+

什么是Maven,Maven的概述及基本使用

Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档项目对象模型(Project Object Model)依赖管理模型(Dependency)插件(Plugin)提供了一套标准化的项目结构提供了一套标准化的构建流程(编译、测试、打包、发布…)提供了一套依赖管理机制依赖管理:依赖管理其实就是管理你项目所依赖的第三方资源(jar包、插件…)1.下载jar包2.复制jar包到项目。

宁可枝头抱香死,何曾吹落北风中。 4369

解决maven unresolved plugin 以及 如何控制maven plugin 的插件版本

最近在写一个项目的时候,有两个module,A是一个Spring boot,B是一个没有使用框架的module。 问题一: B库很长时间在执行Downloading plugins for,如果中途退出了idea,插件没有下载完,再次进入idea,会出现unresolved plugin的报错 分析: 这个问题可以通过两个方面来解决: 1、更改仓库地址,提高下载速度,一运行,很快...

薛瑄的博客 5万+

Maven

教你下载和配置Maven

xiaoyudecsdndec的博客 2202

Maven项目缺少Maven Dependencies总结

本文通过总结网上各种maven项目没有Maven Dependencies的情况,结合自己所遇到的奇葩问题,综合成一片文章,希望给大家带来帮助。

Frankenstein的博客 1万+
上一篇: Struts2异常日志
下一篇: MySql 异常报告
AMX50B
博客等级 码龄12年 30粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值