Maven配置

文章目录

  • 下载
  • 1.Maven与IDEA版本问题
  • 2.Maven阿里云镜像加速
  • 3.Maven本地仓库路径修改
  • 4.Maven默认版本jdk
  • 5.IDEA中创建Maven项目
  • 6.启动一个HelloWorld
  • 7.IDEA创建Maven卡死
    • 7.2 New Project
    • 7.3 Maven Archetype
    • 7.4 出现无响应或者IDEA卡死
      • 方案一
      • 方案二
      • 总结

下载

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

1.Maven与IDEA版本问题

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

Maven历史版本
Maven配置_第2张图片

IDEA历史版本
Maven配置_第3张图片

2.Maven阿里云镜像加速

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

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

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


<mirror>
  
  <id>aliyunmavenid>
  <mirrorOf>centralmirrorOf>
  <name>阿里云公共仓库name>
  <url>https://maven.aliyun.com/repository/publicurl>
mirror>

<mirror>
  <id>repo1id>
  <mirrorOf>centralmirrorOf>
  <name>Human Readable Name for this Mirror.name>
  <url>http://repo1.maven.org/maven2/url>
mirror>


<mirror>
  <id>repo2id>
  <mirrorOf>centralmirrorOf>
  <name>Human Readable Name for this Mirror.name>
  <url>http://repo2.maven.org/maven2/url>
mirror>


<mirror>
  <id>maven-default-http-blockerid>
  <mirrorOf>external:http:*mirrorOf>
  <name>Pseudo repository to mirror external repositories initially using HTTP.name>
  <url>http://0.0.0.0/url>
  <blocked>trueblocked>
mirror>

3.Maven本地仓库路径修改


<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>/Users/cxf/Java/lib/apache-maven-3.8.5/mavven-repolocalRepository>

4.Maven默认版本jdk

Java8


<profile>
  <id>jdk-1.8id>
  <activation>
    <activeByDefault>trueactiveByDefault>
    <jdk>1.8jdk>
  activation>

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

Java17


<profile>
  <id>jdk-17id>
  <activation>
    <activeByDefault>trueactiveByDefault>
    <jdk>17jdk>
  activation>

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

5.IDEA中创建Maven项目

Maven配置_第4张图片
Maven配置_第5张图片
Maven配置_第6张图片

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

Maven配置_第7张图片

作如下修改

  • 方案1⃣️
    Maven配置_第8张图片

  • 方案2⃣️
    Maven配置_第9张图片
    Maven配置_第10张图片

我们再新建一个Maven项目来看看是否会自动生成 java,resource目录
Maven配置_第11张图片

后续的步骤一样,我们查看最后创建好的干净的Maven项目
Maven配置_第12张图片
Maven配置_第13张图片

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

6.启动一个HelloWorld

配置Tomcat

我的是社区版,需要用到 插件SmartTomcat
Maven配置_第14张图片

安装好插件之后配置 SmartTomcat

Maven配置_第15张图片
Maven配置_第16张图片
Maven配置_第17张图片

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

Maven配置_第18张图片

最后运行效果如图所示
Maven配置_第19张图片

7.IDEA创建Maven卡死

7.2 New Project

创建一个不使用代码模版的Maven项目
Maven配置_第20张图片
Maven配置_第21张图片

7.3 Maven Archetype

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

会自动生成代码目录文件「web.xml」
Maven配置_第22张图片
Maven配置_第23张图片

7.4 出现无响应或者IDEA卡死

记得把如下操作设置为新建项目设置
Maven配置_第24张图片

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

-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配置_第26张图片
Maven配置_第27张图片
Maven配置_第28张图片

方案二

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

总结

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

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

你可能感兴趣的:(工具,maven)