zoukankan      html  css  js  c++  java
  • MAC上安装maven以及配置Intellij IDEA

    大前提:java环境已经配置好

    maven是对于java工程的管理

    一、maven安装到mac

    1、首先,maven下载地址http://maven.apache.org/download.cgi

    点击进去是最新版本的maven,后来发现最新版本出现了一些问题,所以我实际下载的是老版本3.6.1

    点击最下面的“archive”超链接可以下载老版本

    2,下载后把解压的文件夹放置到你想放的路径下面,比如/Users/zwf/apache-maven-3.6.1

    然后此时需要更改.bash_profile文件,有两种方法,一个是直接在终端使用指令更改保存,一个是终端打开文件保存

    第一种:

    ①输入 vim ~/.bash_profile

    ②输入i进行编辑

    export M2_HOME="/Users/zwf/apache-maven-3.6.1"
    export PATH="$M2_HOME/bin:$PATH"

    ③输入:wq保存(:w进行文件的保存,:wq为保存并退出指令)

    ④配置文件生效   source ~/.bash_profile

    第二种(实际是用的这种)

    ①输入 open ~/.bash_profile

    ②在自动打开的文件里修改成

    export M2_HOME="/Users/zwf/apache-maven-3.6.1"
    export PATH="$M2_HOME/bin:$PATH"

    之后点击保存按钮

    ③配置文件生效   source ~/.bash_profile

    更改完配置文件以后,在终端输入mvn -v可以查看是否安装成功以及安装路径

    3、setting.xml在maven的conf文件夹下

    如果要更改该文件,直接替换覆盖即可

    二、intelliJ IDEA 的maven配置

    在preferences-maven中配置

    maven home dictionary:(就是上面的/Users/zwf/apache-maven-3.6.1,可以进行覆盖)

    user setting file:(setting.xml的路径,勾选override覆盖即可)

    local reponsitory:本地仓库路径,取自setting.xml里的配置,一般不用覆盖

     <!-- 本地仓库的路径。默认值为${user.home}/.m2/repository -->

     <localRepository>usr/local/maven</localRepository>

    配置好保存就ok了

    三、遇到的一个问题

    配置好后从git导入失败,也无法从maven下载资源

    提示unable to import maven project:see logs for details

    让查看log就去查看log,点击help-Show Log in Finder

    查看有报错:【Error】com.google.inject.CreationException: Unable to create injector(https://blog.csdn.net/awecoder/article/details/101149948

    java.lang.RuntimeException: com.google.inject.CreationException: Unable to create injector, see the following errors:
    
    1) No implementation for org.apache.maven.model.path.PathTranslator was bound.
      while locating org.apache.maven.model.path.PathTranslator
        for field at org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.pathTranslator(Unknown Source)
      at org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)
    
    2) No implementation for org.apache.maven.model.path.UrlNormalizer was bound.
      while locating org.apache.maven.model.path.UrlNormalizer
        for field at org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.urlNormalizer(Unknown Source)
      at org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)
    
    2 errors
    	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:543)
    	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:159)
    	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
    	at com.google.inject.Guice.createInjector(Guice.java:87)
    	at com.google.inject.Guice.createInjector(Guice.java:69)
    	at com.google.inject.Guice.createInjector(Guice.java:59)
    	at org.codehaus.plexus.DefaultPlexusContainer.addComponent(DefaultPlexusContainer.java:344)
    	at org.codehaus.plexus.DefaultPlexusContainer.addComponent(DefaultPlexusContainer.java:332)
    	at org.jetbrains.idea.maven.server.Maven3XServerEmbedder.customizeComponents(Maven3XServerEmbedder.java:573)
    	at org.jetbrains.idea.maven.server.Maven3XServerEmbedder.customize(Maven3XServerEmbedder.java:542)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    	at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
    	at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
    ......

    原因:Maven3.6.2的版本兼容问题。
    解决方法:重新下载较低版本Maven3.6.1及以下版本可以顺利解决。

    四、其他补充信息

    1、关于setting xml的内容的意义

    https://www.cnblogs.com/yangxia-test/p/4409736.html

    2、setting.xml里的阿里云镜像,如需要

    <mirrors>
        <mirror>
          <id>alimaven</id>
          <mirrorOf>central</mirrorOf>
          <name>aliyun maven</name>
       <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </mirror>
      </mirrors>

  • 相关阅读:
    MySQL执行外部sql脚本文件的命令
    如何修改mysql 默认引擎为InnoDB?
    最新版的 vscode 怎么配置 Python?
    Go 后端主要做什么
    Go 语言 fmt.Sprintf (格式化输出)
    什么是弱类型语言、强类型语言?
    一个项目从立项到发布的流程
    工厂模式
    观察模式
    类之间的关系
  • 原文地址:https://www.cnblogs.com/zhuwf/p/11646617.html
Copyright © 2011-2022 走看看