1 mac上的maven的JAVA_HOME
mac上maven的JAVA_HOME不是环境变量的JAVA_HOME,而是~/.mavenrc中的JAVA_HOME。
2 彻底解决mac上使用mvn package报错
Access restriction: The type 'XXX' is not API (restriction on required library 'D:Javajdk1.6.0_43jrelib t.jar')
不使用oracle jdk,而使用openjdk,具体使用adopt openjdk,下载使用即可。
https://adoptopenjdk.net/
不是这个问题,还是因为~/.mavenrc中的JAVA_HOME中的JAVA_HOME没有设置对。设置对了,就没有这个问题了。
可以用oracle jdk,也可以用openjdk。
3 maven repositories
可以自己指定repository,maven在中央仓库找不到就去这些地方去找相应的package。
如何避免自己指定的repository和mirror冲突?
设置mirror的时候一定要指定是哪个具体的仓库的mirror,用mirrorOf指定,否则,该mirror会将远程所有的仓库都屏蔽了,包括中央仓库和私服。
3.1 maven仓库
分为远程仓库和本地仓库。远程仓库又分为中央仓库、私服和其它公共仓库。当maven请求包jar时,会先向私服查找,然后再查找其它远程仓库。
3.2 mirror
mirror相当于是一个拦截器,会拦截到远程仓库中的请求。所以,使用mirror的时候,一定要使用mirrorOf指定被镜像的仓库ID。