Maven配置

下载

Maven下载
在这里插入图片描述
Binary:二进制文件,已经编译好可直接部署【默认选项】
Source:源代码文件,需要修改、调试、编译后才能部署【有定制化需求】
tar.gz:Linux
zip:Win

1.Maven与IDEA版本问题

Maven版本发布时间低于IDEA发布时间即可

Maven历史版本
在这里插入图片描述

IDEA历史版本
在这里插入图片描述

2.Maven阿里云镜像加速

id:可以随意给但不能重复
mirrorOf:

  • *:通配符匹配,会将所有 jar 包的下载请求从此url中下载
  • central:精确匹配,会将匹配到 jar 包的下载请求从此url中央仓库【远程仓库】下载

只配置了一个mirror当 * 匹配出错的时候就会无法下载【此时配置的和central效果一样】
当配置了多个mirror是,匹配顺序是:精确匹配 > 模糊匹配。因此不推荐全部使用 * 进行匹配。
全部使用 central:则会按照 mirror 标签的顺序进行匹配,如果仓库1没有对应的 jar 包就会找仓库2知道配置的所有仓库都没有对应的jar包则会报错

<!--mirrors标签-->
<mirror>
  <!--阿里云仓库-->
  <id>aliyunmaven</id>
  <mirrorOf>central</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>
<!-- 中央仓库1 -->
<mirror>
  <id>repo1</id>
  <mirrorOf>central</mirrorOf>
  <name>Human Readable Name for this Mirror.</name>
  <url>http://repo1.maven.org/maven2/</url>
</mirror>

<!-- 中央仓库2 -->
<mirror>
  <id>repo2</id>
  <mirrorOf>central</mirrorOf>
  <name>Human Readable Name for this Mirror.</name>
  <url>http://repo2.maven.org/maven2/</url>
</mirror>

<!--默认仓库-->
<mirror>
  <id>maven-default-http-blocker</id>
  <mirrorOf>external:http:*</mirrorOf>
  <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
  <url>http://0.0.0.0/</url>
  <blocked>true</blocked>
</mirror>

3.Maven本地仓库路径修改

<!--
Maven配置文件路径:apache-maven-3.8.5/conf/settings.xml 

settings下边的localRepository标签
-->
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
<localRepository>/Users/cxf/Java/lib/apache-maven-3.8.5/mavven-repo</localRepository>

4.Maven默认版本jdk

Java8

<!--profiles标签-->
<profile>
  <id>jdk-1.8</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.8</jdk>
  </activation>

  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
  </properties>
</profile>

Java17

<!--profiles标签-->
<profile>
  <id>jdk-17</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>17</jdk>
  </activation>

  <properties>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
  </properties>
</profile>

5.IDEA中创建Maven项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第一次创建的时候发现这里缺少两个重要文件【main里边还有java和resource】

在这里插入图片描述

作如下修改

  • 方案1⃣️
    在这里插入图片描述

  • 方案2⃣️
    在这里插入图片描述
    在这里插入图片描述

我们再新建一个Maven项目来看看是否会自动生成 java,resource目录
在这里插入图片描述

后续的步骤一样,我们查看最后创建好的干净的Maven项目
在这里插入图片描述
在这里插入图片描述

方便我们以后自动使用这个Maven仓库,我们可以为后续的新项目进行设置Maven的路径,配置文件,仓库地址

在这里插入图片描述

6.启动一个HelloWorld

配置Tomcat

我的是社区版,需要用到 插件SmartTomcat
在这里插入图片描述

安装好插件之后配置 SmartTomcat

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击运行的绿色三角符号【此时的Servlet挂在在Tomcat,因此不需要main函数即可运行】

在这里插入图片描述

最后运行效果如图所示
在这里插入图片描述

7.IDEA创建Maven卡死

7.2 New Project

创建一个不使用代码模版的Maven项目
在这里插入图片描述
在这里插入图片描述

7.3 Maven Archetype

创建一个使用文件模版的Maven项目「Archetype输入webapp,选择带有maven的选项」

会自动生成代码目录文件「web.xml」
在这里插入图片描述
在这里插入图片描述

7.4 出现无响应或者IDEA卡死

记得把如下操作设置为新建项目设置
在这里插入图片描述

这个问题一般是出现在网络情况上,因为需要下载一个 archetype-catalog.xml「打开网页之后ctrl+s保存操作就会下载」 足足有12.6MB大小
在这里插入图片描述
下载好之后调整IDEA中Maven设置
在这里插入图片描述

-DarchetypeCatalog=参数xxx

  • internal:读取maven-archetype-plugin内置的 archetype-catalog.xml 文件
  • local:读取本地设置的代码仓库中 org/apache/maven/archetype/archetype-catalog/3.2.1/archetype-catalog.xml
  • remote:读取Maven中央仓库中的Catalog文件

默认为remote,即从 https://repo1.maven.org/maven2/archetype-catalog.xml 路径下载archetype-catalog.xml文件。

知道这些参数作用后现在我们就可以自由选择了「一般不用remote参数」

方案一

  1. internal
    这个时候就会使用 maven-archetype-plugin 内置的 archetype-catalog.xml 文件,和我们之前下载好的 archetype-catalog.xml 无关
  2. local
    这个时候就需要把 archetype-catalog.xml 放到对应的 路径才可以是的参数设置成功
    1. IDEA设置的Maven仓库路径:/Users/cxf/java/lib/apache-maven-3.8.5/maven-repo
    2. archetype-catalog.xml放置的路径:/Users/cxf/java/lib/apache-maven-3.8.5/maven-repo/org/apache/maven/archetype/archetype-catalog/3.2.1/archetype-catalog.xml
  3. remote
    这个只会拖慢速度除非大佬网速好,下载很快就可以考虑这个方案

如下图所示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

方案二

在初始化界面创建 Maven 项目
在这里插入图片描述
如果在某个项目中新建项目操作就会有概率引起无响应和卡死
如下图所示
在这里插入图片描述
有一个比较靠谱的说法是:因为项目可能是用的JDK版本不一样导致的卡死,可以在 Maven->importing 中设置选择固定JDK「默认是User Project JDK选项。我换成了1.8选项」。这种方案仅供参考,具体哪种原因造成的无响应和卡顿本人未证实。
在这里插入图片描述

总结

上述方案可以轮流着换,都是一劳永逸的效果。

一般用 internal居多,实在无计可施就更改 Maven 的 import 选项,退出当前项目到初始化界面再创建Maven

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值