使用国内maven源编译java以及sbt

来源:互联网 发布:java如何读取zip文件 编辑:程序博客网 时间:2024/06/16 21:52

java项目依赖管理如果用了maven就so easy,但是maven默认连接国外的maven源,非常慢,最近几天试着用了不同的源,总结一下

1. 使用内网源

如果公司内部有靠谱的源,用内网速度最快了,没的说,but 如果内网源不给力,就悲剧了

2. os china 源

os china 貌似曾经是国内最好的maven源,but现在http://maven.oschina.net/help.html这个网站反正我是打不开,但是网上铺天盖地的都是推荐这个是最好用的国内源,坑我花了很多时间,还是不能用

3. 国内最好用的maven源 阿里云的maven源

阿里云的maven源比较低调,我也是从知乎上看到的

    <mirror>        <id>nexus-aliyun</id>        <mirrorOf>*</mirrorOf>        <name>Nexus aliyun</name>        <url>http://maven.aliyun.com/nexus/content/groups/public</url>    </mirror> 

4. 国外源

  1. 包速查:http://maven.outofmemory.cn
  2. 参考:http://lychie.github.io/pages/articles/maven/15041621.html
  3. maven官方 http://repo1.maven.org/maven2/
    或 http://repo2.maven.org/maven2/ (延迟低一些)
settings.xml 配置远程仓库镜像<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源

nameurl测试网速https://asm.ca.com/en/ping.phpUSA California(美国加利福尼亚)http://repo1.maven.org/maven2United Kingdom(英国)http://uk.maven.org/maven2USA,North Carolina(美国北卡罗莱纳州)http://mirrors.ibiblio.org/pub/mirrors/maven2France(法国)http://maven.antelink.com/content/repositories/centralsofthttp://maven.tmatesoft.com/content/groups/public52.1.120.131repo.scala-sbt.org54.165.44.236repo.typesafe.com54.243.161.21typesafe.com54.192.134.21downloads.typesafe.com

sbt源的配置

参考
sbt运行时经常需要下载大量的jar包,默认连接到maven官网,速度通常比较慢。
~/.sbt/下添加一个repositories文件,里面内容如下:

[repositories]localosc: 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], bootOnlysonatype-oss-releasesmaven-centralsonatype-oss-snapshots

参考

编译spark
设置SBT的repository代理
在Spark源码目录的project/plugins.sbt中可以看到默认的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/"

但是这几个地址在天朝访问速度是在太慢,于是想办法设置代理源。经过一番查询,发现可以创建文件~/.sbt/repository,内容如下:

[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]

这里设置本地的maven库和一些其他的库地址,其中后面两个地址是ivy的库,所以要在后面加上ivy库路径解析方法。
设置了repository,再使用sbt下载依赖仍然是无比的慢,应该是全局的repository代理无法覆盖设置,需要在SBT_OPTS中加上:
-Dsbt.override.build.repos=true
这样就不会使用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>

国内镜像

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>


作者:awanke
链接:http://www.jianshu.com/p/bd37bb185e8b#
來源:简书
原创粉丝点击