java-maven的使用

2023-11-06

一、加载maven项目:

1、idea工具栏file-open-选择项目加载进来

2、右键pom.xml 选择add as maven project

3、如果在pom.xml上的某个依赖一直报红且依赖本身没有问题,本pom其他的依赖也没有问题,那么在别的pom文件上加载一下这个依赖,然后刷新一下就好了

4、如果pom加了依赖,但是项目一直没有刷新jar包,右键pom.xml选择maven-reload project,或者idea右边maven工具栏的刷新按钮

5、下面的截图:m 执行maven命令,闪电:跳过test打包,手板:配置idea的maven路径

二、可能遇到的问题

加载maven下面加载条卡死或者一直加载不上

0、看一下maven的配置是不是对的,尤其是1

1、file-setting-build.....-maven-importing-下面圈主的地方数字往大了写写

 2、写大了还是不行,将项目compile一下,注意控制台的打印信息,看看是不是报错了

如果plugins和dependences找不到了,没了,也compile一下,注意有没有控制台有没有报错,

如果compile还没有,再把刷新按钮刷刷

 3、检查依赖是在dependencies还是dependencyManagement,如果

三、pom.xml配置文件和setting.xml配置文件

1、pom.xml

<version>标签只允许是常量,不能是${}

<scope>标签值:

compile:默认值,可省略不写。参与编译、测试、运行周期、打包。
test:参与测试代码的编译和执行,不会被打包,且依赖不会传递(A项目test的jar包。b项目引入a项目,jar包用不了)
runtime:参与测试、运行周期、打包。例如JDBC驱动,适用运行和测试阶段。(compile少了编译)
provided:参与编译、测试、运行周期。排除了打包,别的设施会提供。(compile少了打包)
system:参与编译、测试、运行周期。不从maven仓库下载,而是从本地拿。用systemPath的属性来定义路径

${project.basedir}是直接写死的
<dependency>
    <groupId>XX</groupId>
    <artifactId>XXX</artifactId>
    <scope>system</scope>
    <version>1.0</version>
    <systemPath>${project.basedir}/src/main/resources/lib/XXX.jar</systemPath>
</dependency>

import:只能在 <dependencyManagement> 模块中使用。 打破单继承(maven单继承:一个子项目只能制定一个父 pom),且配合<type>pom</type>一起使用
<scope>import</scope>
<type>pom</type>     

<dependencyManagement>和<dependencies>区别:

dependencyManagement:不实际引入依赖,只是声明依赖版本,做一个统一的版本控制

dependencies:会真正的引入依赖,并且被子项目和引入此项目的其他项目继承(如果父项目dependencyManagement或者dependencies申明version了就不需要再写<version>了,如果都没有,则version是必须的,如果自己定义了version,那么就会忽略其他的version,而使用自己定义的version)

2、setting.xml的参数参考链接:Maven配置文件(setting.xml)属性解析_香草味小布丁的博客-CSDN博客

<localRepository>:本地仓库

<profiles>:设置环境:

<repositories>:设置仓库:setting.xml和pom.xml 都可以配置,pom中有就不会去setting取了

<mirrorOf>:根据值来配置是否覆盖上面设置的仓库内容

maven仓库的优先级:本地仓库(localRepositories) >POM中repositories仓库> settings中profile中的repositories仓库 > POM > mirrors全局仓库

profile优先级:中都定义了env属性,如果都没被激活或激活某一个profile的话,是没问题的。如果两个profile都被激活,那么会根据profile在配置文件中定义的位置,后面的属性会覆盖前面的属性。
多个repository优先级:如果第1个可用,就用第一个(其他的就不会再用了,如果一个jar包第二个仓库有,第一个没有,那么这个jar包获取不到),如果不可用,就依次往下找,repository中的id与mirror的mirrorOf一致时,mirrorOf中的url就会覆盖repository中的url地址。

如果 <mirrorOf>*</mirrorOf> , 那么所有仓库都使用我们配置的这个mirror作为jar包下载地址

<exclusions><exclusion>:排除jar包里面的某个或者几个jar包
<modelVersion> :Maven的版本 防止maven的版本发生更新时对系统的影响
<packaging>:打包方式:pom、jar
<parent>:父项目

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java-maven的使用 的相关文章

随机推荐

  • 多个df文件之间含有重叠项的处理

    在进行数据分析时 为获取某个完整的panel数据往往需要将多个文件进行整合 而当这些文件之间存在重叠的时候 单纯的拼接难以得到好的结果 本文将以pandas重复值处理的若干函数着手 分析最好的文件重复值处理方法 首先 pandas中处理重复
  • CSS快速入门

    目录 一 概念 二 好处 三 CSS与html结合方式 1 内联样式 2 内部样式 3 外部样式 四 CSS语法 五 选择器 基础选择器 1 id选择器 2 类选择器 3 元素选择器 例子 扩展选择器 1 选择所有元素 2 并集选择器 3
  • qt 和java混合编程

    用QAndroidJniObject来做new一个对象 java Qt C File file new File QAndroidJniObject file java io File V File file new File tmp a
  • 大数据课程L2——网站流量项目的算法分析&&数据处理

    文章作者邮箱 yugongshiye sina cn 地址 广东惠州 本章节目的 了解网站流量项目的算法分析 了解网站流量项目的数据处理 一 项目的算法分析 1 概述 网站流量统计是改进网站服务的重要手段之一 通过获取用户在网站的行为 可以
  • [UTCTF 2020]Spectre

    题目 一段wav音频 Audacity 查看频谱图 放大即可发现flag Sonic Visualiser 上下左右拖动就找到flag了
  • 如何从数组对象中拿到指定的数据格式,数组对象数据处理

    一 原始数据 result name book4 value 3 children name 你的名字 value 3 name 言叶之庭 value 5 name book5 value 3 children name 白夜行 value
  • selenium中获取页面元素方法介绍以及定位页面元素

    1 通过浏览器驱动获取 单个元素页面元素的8种方式 通过 id获取元素 el driver find element by id id 通过 name获取元素 el driver find element by name name 通过 c
  • 六、04【Java 多线程】之并发编程

    多线程并发编程 并行和并发的概念我们之前有提到过 在回顾下 并发 多个任务在同一个 CPU 核上 按细分的时间片轮流 交替 执行 从逻辑上来看那些任务是同时执行 并行 单位时间内 多个处理器或多核处理器同时处理多个任务 是真正意义上的同时进
  • 【华为OD机试】求最多可以派出多少支团队(C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 题目描述 用数组代表每个人的能力 一个比赛活动要求参赛团队的最低能力值为N 每个团队可以由1人或2人组
  • 基于SpringBoot的疾病预防系统的设计与实现

    系统合集跳转 一 系统环境 运行环境 最好是java jdk 1 8 我们在这个平台上运行的 其他版本理论上也可以 IDE环境 Eclipse Myeclipse IDEA或者Spring Tool Suite都可以 tomcat环境 To
  • 一个div里有多个a标签,改变a标签的字体颜色方法

  • 抓包工具_Charles使用

    目录 1 Charles准备工作 2 Charles抓包原理 3 Charles抓包步骤 4 Charles抓包分析 5 Charles重发请求 1 Charles准备工作 Charles是一种抓包工具 和fiddler mitmproxy
  • tuts4you上lena‘s40个crackme(1)

    本来是不打算写文章了 因为懒 想以后通过录屏的形式保存一下自己学的路程 但奈何开学后一直没找到机会 在宿舍也不愿意大吼大叫的讲东西 只好再写写文章了 最近学了一些汇编语言和逆向工程 所以就想通过这40给题目来看一看成效 这篇文章是第一题 博
  • SpringMVC框架学习笔记整理-动力节点王鹤(无必详细)

    继续整理了Springmvc的学习笔记 动力节点王鹤老师讲的springmvc 分享给大家 看了这么多网上的视频 还是只有王鹤老师讲的能听明白 就喜欢讲的细的 而且老师条理很清晰 视频资源 https www bilibili com vi
  • 对MRTK中HandInteractionExamples实例的一些理解

    文章目录 前言 一 按钮 二 边界框 三 操作示例 四 滑动条 五 其它 前言 对HoloLens实例的一些浅陋的理解 大部分为官方自己解释 一 按钮 BoxCollider 按钮前板的Box Collider PressableButto
  • 欧莫,github一看就懂【纯小白】

    教程 一看就懂 Github基础教程 哔哩哔哩 bilibili 分享原因 一不小心刷到的 对小白来说真的很友好 因为我也被github上的英文吓到过 突然刷到这样简单直白的介绍 忍不住分享一波u 2 giehub免费加速 教程 手把手教你
  • 语音端点检测(Voice Activity Detection,VAD)

    本文内容均翻译自这篇博文 该博主的相关文章都比较好 感兴趣的可以自行学习 Voice Activity Detection VAD Tutorial 语音端点检测一般用于鉴别音频信号当中的语音出现 speech presence 和语音消失
  • Java PrintWriter.write()方法具有什么功能呢?

    转自 Java PrintWriter write 方法具有什么功能呢 下文讲述java中PrintWriter write 方法的功能简介说明 如下所示 PrintWriter write 方法的功能 同print方法基本一致 print
  • 模式识别(1)协方差矩阵相关和K-means聚类算法实现(含源码)

    模式识别实验一 实验一 协方差矩阵和矩阵特征值 特征向量的计算 题目简介 给定一组数据 实现该组数据的协方差矩阵的计算 并用代码实现计算一个方阵的特征值和特征向量 一 协方差部分 1 协方差的定义 协方差在概率论和统计学中用于衡量两个变量的
  • java-maven的使用

    一 加载maven项目 1 idea工具栏file open 选择项目加载进来 2 右键pom xml 选择add as maven project 3 如果在pom xml上的某个依赖一直报红且依赖本身没有问题 本pom其他的依赖也没有问