Mac平台maven配置及idea中使用maven

举报
YuShiwen 发表于 2022/03/30 23:29:40 2022/03/30
【摘要】 前言: 不论是mac平台的idea还是win平台的idea,都有自带的maven。 如果不想使用idea自带的maven可以自己去官网下载对应版本的maven。 下面我将重点介绍自己去网上下载的maven...

前言:
不论是mac平台的idea还是win平台的idea,都有自带的maven
如果不想使用idea自带的maven可以自己去官网下载对应版本的maven。
下面我将重点介绍自己去网上下载的maven的环境配置和具体使用以及让大家了解idea自带的maven(只做了解)。

一.了解idea中自带的maven

如下图点击
在这里插入图片描述
之后进入下图界面,接着点击在这里插入图片描述
可以看到我的电脑上面有4个maven,其中最后一个/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3与第三个Bundled(Maven3)是同一个,只不过最后一个是其全路径。
进入该路径下查看:
在这里插入图片描述
在这里插入图片描述
可以看到我的idea中自带有两个版本的maven,我朋友的win平台电脑上idea自带的只有一个版本的maven。

二.网上下载好maven后的环境配置:

如果想用自己下载的maven,文件下载完成后,需要完成以下步骤:

  1. 打开终端 ,输入vim ~/.bash_profile

  2. 进入编辑模式,在文件末尾加上该片段:
    export MAVEN_HOME=/Users/yushiwen/apache-maven-3.5.2
    上述片段解读:等于号后面的是下载好的maven的全路径,=后面写上自己maven的全路径
    export PATH=$PATH:$MAVEN_HOME/bin
    上述片段解读:这个是固定的,不需要改
    写好后如下:
    在这里插入图片描述

  3. 写好后退出,输入source ~/.bash_profile命令使刚才的文件配置生效

  4. 输入 mvn -v 查看 Maven 否安装成功
    如下图说明生效:
    在这里插入图片描述

三.设置maven下载的jar包到某个指定文件

  1. 点击打开我们下载的maven文件,打开conf文件下的settings.xml,如下:
    在这里插入图片描述

  2. 我使用的vscode打开的settings.xml,打开后在如下片段加入如下代码:
    第55行入如下代码:<localRepository>/Users/yushiwen/apache-maven-3.5.2/repository</localRepository>
    代码段解读:
    /Users/yushiwen/apache-maven-3.5.2是其下载的maven的全路径,后面的repository是之后自动下载需要的jar包所放置的地方。
    代码添加完成后如下:
    在这里插入图片描述

  3. 因为下载jar包地址不太稳定,我们可以换成国内的镜像地址,settings.xml更改如下:
    在<mirrors></mirrors>之间加入如下代码段:

 <mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
  </mirror>
 
  <mirror>
    <id>uk</id>  
    <mirrorOf>central</mirrorOf>  
    <name>Human Readable Name for this Mirror.</name>  
    <url>http://uk.maven.org/maven2/</url>
  </mirror>
 
   <mirror>
    <id>CN</id>
    <name>OSChina Central</name>
    <url>http://maven.oschina.net/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
  </mirror>
 
  <mirror>
    <id>nexus</id>
    <name>internal nexus repository</name>
    <!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
    <url>http://repo.maven.apache.org/maven2</url>
    <mirrorOf>central</mirrorOf>
  </mirror>


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

更改后如下:
在这里插入图片描述

四.下载jar包到本地仓库(下载到刚才的repository目录下)

  1. 终端输入mvn help:system
    出现以下信息证明下载成功:
    在这里插入图片描述

五.在idea选择使用指定的maven

  1. 点击IntelliJ IDEA,选择Preferences
    在这里插入图片描述
  2. 进入如下页面,安装提示点击:
    在这里插入图片描述

在这里插入图片描述

六.创建maven,输出数据库的哈希地址。

  1. 新建model,选择maven,勾选,选择webapp,注意有两个webapp,创建时需要看仔细一点。在这里插入图片描述
  2. 一路点击next
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 创建时勾选create from archetype:
    在这里插入图片描述
  4. 创建时不勾选:
    在这里插入图片描述
  5. 勾选不勾选相互结合(就是创建文件夹,拖入文件到其中,具体过程省略):
    在这里插入图片描述
  6. 在pom.xml中标签内添加jdbc的依赖坐标:
<!--mysql驱动包-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.12</version>
    </dependency>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  1. main函数及输出:
    在这里插入图片描述
    在这里插入图片描述
    说明:
    可以看到在pom.xml文件中添加相应的依赖坐标,就可以在不自己导入jar包的情况下,使用mysql连接驱动,实际上这个连接驱动jar包在本地仓库中(repository目录下)。

7.pom.xml文件说明:

  1. 坐标说明:
  <!--依赖坐标-->
  <dependencies>

    <!--mysql驱动包-->
    <dependency>
      <!--组织名-->
      <groupId>mysql</groupId>
      <!--项目名-->
      <artifactId>mysql-connector-java</artifactId>
      <!--版本-->
      <version>8.0.12</version>
    </dependency>

    <!--@Test测试-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <!--范围-->
      <scope>test</scope>
    </dependency>
  </dependencies>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  1. 依赖范围:
    A 依赖 B,需要在 A 的 pom.xml 文件中添加 B 的坐标,添加坐标时需要指定依赖范围,依赖范围包
    括:

compile:此范围为默认依赖范围。作用在: 编译、测试、运行

provided:只有在当 JDK 或者一个容器已提供该依赖之后才使用,在编译和测试时需要,在运行时不需要。
比如: tomcat 容器包含servlet api,但是在编译和测试时需要,运行时使用tomcat内置的servlet即可。

runtime:在运行和测试系统的时候需要,但在编译的时候不需要。
比如:jdbc的驱动包。

test:在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,
比如:junit。

system:system依赖不推荐使用。

依赖范围 对于编译
classpath有效
对于测试
classpath有效
对于运行
classpath有效
例子
compile Yes Yes Yes spring-core
test - Yes - Junit
provided Yes Yes - Servlet-api
runtime - Yes Yes JDBC驱动
system Yes Yes - 本地的,Maven仓库之外的类库
  1. 总结:
    默认引入 的 jar 包 ------- compile 【默认范围 可以不写】(编译、测试、运行 都有效 )
    servlet-api 、jsp-api ------- provided (编译、测试有效,运行时无效,防止和 tomcat 下 jar 冲突)
    jdbc 驱动 jar 包 ---- runtime (测试、运行 有效 )
    junit ----- test (测试有效)
    依赖范围由强到弱的顺序是:compile>provided>runtime>test
    不同的jar包依赖使用时范围是不同的,需要自己在实际开发过程中去慢慢积累经验。

文章来源: blog.csdn.net,作者:Mr.Yushiwen,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/MrYushiwen/article/details/107687576

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。