java項(xiàng)目依賴管理如果用了maven就so easy,但是maven默認(rèn)連接國外的maven源,非常慢,最近幾天試著用了不同的源,總結(jié)一下
1. 使用內(nèi)網(wǎng)源
如果公司內(nèi)部有靠譜的源,用內(nèi)網(wǎng)速度最快了,沒的說,but 如果內(nèi)網(wǎng)源不給力,就悲劇了
2. os china 源
os china 貌似曾經(jīng)是國內(nèi)最好的maven源,but現(xiàn)在http://maven.oschina.net/help.html這個(gè)網(wǎng)站反正我是打不開,但是網(wǎng)上鋪天蓋地的都是推薦這個(gè)是最好用的國內(nèi)源,坑我花了很多時(shí)間,還是不能用
3. 國內(nèi)最好用的maven源 阿里云的maven源
阿里云的maven源比較低調(diào),我也是從知乎上看到的
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
4. 國外源
- 包速查:http://maven.outofmemory.cn
- 參考:http://lychie.github.io/pages/articles/maven/15041621.html
- maven官方 http://repo1.maven.org/maven2/
或 http://repo2.maven.org/maven2/ (延遲低一些)
settings.xml 配置遠(yuǎn)程倉庫鏡像
<mirrors>
<mirror>
<id>ibiblio.org</id>
<mirrorOf>central</mirrorOf>
<name>mirrors repositories from central</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
</mirror>
</mirrors>
常見maven源
name | url |
---|---|
測試網(wǎng)速 | https://asm.ca.com/en/ping.php |
USA California(美國加利福尼亞) | http://repo1.maven.org/maven2 |
United Kingdom(英國) | http://uk.maven.org/maven2 |
USA,North Carolina(美國北卡羅萊納州) | http://mirrors.ibiblio.org/pub/mirrors/maven2 |
France(法國) | http://maven.antelink.com/content/repositories/central |
soft | http://maven.tmatesoft.com/content/groups/public |
52.1.120.131 | repo.scala-sbt.org |
54.165.44.236 | repo.typesafe.com |
54.243.161.21 | typesafe.com |
54.192.134.21 | downloads.typesafe.com |
sbt源的配置
參考
sbt運(yùn)行時(shí)經(jīng)常需要下載大量的jar包,默認(rèn)連接到maven官網(wǎng)皮服,速度通常比較慢。
在~/.sbt/
下添加一個(gè)repositories
文件兴蒸,里面內(nèi)容如下:
[repositories]
local
osc: http://maven.oschina.net/content/groups/public/
typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
sonatype-oss-releases
maven-central
sonatype-oss-snapshots
參考
編譯spark
設(shè)置SBT的repository代理
在Spark源碼目錄的project/plugins.sbt中可以看到默認(rèn)的repository的地址:
resolvers += Resolver.url("artifactory", url("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)
resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"
resolvers += "sonatype-releases" at "https://oss.sonatype.org/content/repositories/releases/"
但是這幾個(gè)地址在天朝訪問速度是在太慢,于是想辦法設(shè)置代理源朝捆。經(jīng)過一番查詢憋他,發(fā)現(xiàn)可以創(chuàng)建文件~/.sbt/repository,內(nèi)容如下:
[repositories]
local
local-maven:file:///home/mz/.m2/repository
repo2:http://repo2.maven.org/maven2/
ivy-typesafe:http://dl.bintray.com/typesafe/ivy-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
ivy-sbt-plugin:http://dl.bintray.com/sbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
這里設(shè)置本地的maven庫和一些其他的庫地址愿阐,其中后面兩個(gè)地址是ivy的庫,所以要在后面加上ivy庫路徑解析方法趾疚。
設(shè)置了repository缨历,再使用sbt下載依賴仍然是無比的慢,應(yīng)該是全局的repository代理無法覆蓋設(shè)置糙麦,需要在SBT_OPTS中加上:
-Dsbt.override.build.repos=true
這樣就不會(huì)使用project/plugins.sbt中定義的庫了辛孵。
國外鏡像
ibiblio.org
<mirror>
<id>ibiblio</id>
<mirrorOf>central</mirrorOf>
<name>ibiblio Mirror of http://repo1.maven.org/maven2/</name> <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
</mirror>
jboss
<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>
repo2
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
uk.maven.org
<mirror>
<id>ui</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://uk.maven.org/maven2/</url>
</mirror>
國內(nèi)鏡像
oschina.net
<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
net.cn
<mirror>
<id>net-cn</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://maven.net.cn/content/groups/public/</url>
</mirror>