大前提: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>