首页>>程序代码>>Java中Maven常用的镜像及配置方法
Java中Maven常用的镜像及配置方法
来源: 时间: 2015-02-10 20:18:49

1、把本地的jar安装到本地maven仓库中:

语法:mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

示例:mvn install:install-file -Dfile=F:\soft\jms-1.1.jar -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dpackaging=jar

2、常用的maven仓库地址(maven repository)

共有的仓库

http://repo1.maven.org/maven2

http://repository.jboss.com/maven2

http://repository.sonatype.org/content/groups/public

http://mirrors.ibiblio.org/pub/mirrors/maven2/org/acegisecurity

私有的仓库

http://repository.codehaus.org

http://snapshots.repository.codehaus.org

http://people.apache.org/repo/m2-snapshot-repository

http://people.apache.org/repo/m2-incubating-repository

3、MAVEN仓库资源搜索的几个网站:

http://mvnrepository.com/

http://search.maven.org

https://repository.sonatype.org/index.html

4、仓库镜像

如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何一个可以从仓库Y获得的构件,都胡够从它的镜像中获取。举个例子,http://maven.net.cn/content/groups/public/ 是中央仓库http://repo1.maven.org/maven2/ 在中国的镜像,由于地理位置的因素,该镜像往往能够提供比中央仓库更快的务。因此,可以配置Maven使用该镜像来替代中央仓库。编辑settings.xml,代码如下:

  <settings>

      ...

      <mirrors>

        <mirror>

          <id>maven.net.cn</id>

          <name>one of the central mirrors in china</name>

          <url>http://maven.net.cn/content/groups/public/</url>

          <mirrorOf>central</mirrorOf>

        </mirror>

      </mirrors>

      ...

    </settings>

该例中,<mirrorOf>的值为central,表示该配置为中央仓库的镜像,任何对于中央仓库的请求都会转至该镜像,用户也可以使用同样的方法配置其他仓库的镜像。另外三个元素id,name,url与一般仓库配置无异,表示该镜像仓库的唯一标识符、名称以及地址。类似地,如果该镜像需认证,也可以基于该id配置仓库认证。

关于镜像的一个更为常见的用法是结合私服。由于私服可以代理任何外部的公共仓库(包括中央仓库),因此,对于组织内部的Maven用户来说,使用一个私服地址就等于使用了所有需要的外部仓库,这可以将配置集中到私服,从而简化Maven本身的配置。在这种情况下,任何需要的构件都可以从私服获得,私服就是所有仓库的镜像。这时,可以配置这样的一个镜像,如例:

    <settings>

      ...

      <mirrors>

        <mirror>

          <id>internal-repository</id>

          <name>Internal Repository Manager</name>

          <url>http://192.168.1.100/maven2</url>

          <mirrorOf>*</mirrorOf>

        </mirror>

      </mirrors>

      ...

    </settings>

该例中<mirrorOf>的值为星号,表示该配置是所有Maven仓库的镜像,任何对于远程仓库的请求都会被转至http://192.168.1.100/maven2/。如果该镜像仓库需要认证,则配置一个Id为internal-repository的<server>即可。为了满足一些复杂的需求,Maven还支持更高级的镜像配置:

a.<mirrorOf>*</mirrorOf>

匹配所有远程仓库。

b.<mirrorOf>external:*</mirrorOf>

匹配所有远程仓库,使用localhost的除外,使用file://协议的除外。也就是说,匹配所有不在本机上的远程仓库。

c.<mirrorOf>repo1,repo2</mirrorOf>

匹配仓库repo1和repo2,使用逗号分隔多个远程仓库。

d.<mirrorOf>*,!repo1</miiroOf>

匹配所有远程仓库,repo1除外,使用感叹号将仓库从匹配中排除。

需要注意的是,由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。

5、配置Maven的服务Repositories

在配置Maven的POM.xml文件要配置dependency,这些都需要下载,就需要一个Maven的服务Repositories。在这里就收集一些开放的Maven服务Repositories

a. Java.net Repository

<repositories>

    <repository>

      <id>java.net</id>

      <url>https://maven.java.net/content/repositories/public/</url>

    </repository>

</repositories>

b. JBoss Maven Repository

<repositories>

    <repository>

      <id>JBoss repository</id>

      <url>http://repository.jboss.org/nexus/content/groups/public/</url>

    </repository>

</repositories>

c. Spring Maven Reposiory

<repositories>

    <repository>

      <id>spring-repo</id>

      <name>Spring Repository</name>

      <url>http://repo.spring.io/libs-release</url>

    </repository>

</repositories>  

本页地址:http://www.easytd.com/chengxudaima/d_15021020738.html

网友评论留言

验证码 换一张
上一篇:PHP字符串压缩的有关方法 下一篇:Freemarker模板语言的详细介绍和说明