MAC上安裝maven以及配置Intellij IDEA

大前提:java環境已經配置好html

maven是對於java工程的管理java

 

1、maven安裝到macgit

一、首先,maven下載地址http://maven.apache.org/download.cgiapache

點擊進去是最新版本的maven,後來發現最新版本出現了一些問題,因此我實際下載的是老版本3.6.1vim

點擊最下面的「archive」超連接能夠下載老版本bash

2,下載後把解壓的文件夾放置到你想放的路徑下面,好比/Users/zwf/apache-maven-3.6.1maven

而後此時須要更改.bash_profile文件,有兩種方法,一個是直接在終端使用指令更改保存,一個是終端打開文件保存ide

 

第一種:ui

①輸入 vim ~/.bash_profilegoogle

②輸入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能夠查看是否安裝成功以及安裝路徑

 

三、setting.xml在maven的conf文件夾下

若是要更改該文件,直接替換覆蓋便可

 

2、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了

 

3、遇到的一個問題

配置好後從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(http://www.javashuo.com/article/p-mafyxzup-ek.html

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及如下版本能夠順利解決。

 

4、其餘補充信息

一、關於setting xml的內容的意義

http://www.javashuo.com/article/p-gqjalatr-mc.html

 

二、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>

相關文章
相關標籤/搜索