`
tulunta
  • 浏览: 359947 次
文章分类
社区版块
存档分类
最新评论

Maven 灵活使用不同的仓库

 
阅读更多

Nexus私服让我们可以在企业内部从同一个私服下载Maven仓库里面的dependency和plugin.很方便,不过昨天碰到的一个问题是,有一个仓库加入到Nexus后不能,Maven工程无法通过Nexus私服下载该仓库的dependency。

这个仓库叫做:http://download.osgeo.org/webdav/geotools/


想了一个办法绕过它,通过Maven的~/.m2/settings.xml中配置两个Mirror,在遇到osgeo的时候直接使用该仓库,而在其他情况下用私服。

下面是配置:

<settings>
  <servers>
    <server>
      <id>snapshots</id>
      <username>admin</username>
      <password>admin</password>
    </server>
  </servers>
  <pluginGroups>
    <pluginGroup>org.apache.maven.plugins</pluginGroup>
  </pluginGroups> 
  <mirrors>
    <mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>external:*,!osgeo</mirrorOf>
      <url>http://my-proxy:8080/nexus/content/groups/public</url>
    </mirror>
    <mirror>
      <id>osgeo</id>
      <mirrorOf>osgeo</mirrorOf>
      <name>Open Source Geospatial Foundation Repository</name>
      <url>http://download.osgeo.org/webdav/geotools/</url>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <id>nexus</id>
      <!--Enable snapshots for the built in central repo to direct -->
      <!--all requests to nexus via the mirror -->
      <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <!--make the profile active all the time -->
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
</settings>


而在maven工程里面如下配置,注意repository.id必须和mirror.id相等。

	<repositories>
		<repository>
			<id>local repository</id>
			<url>http://my-proxy:8080/nexus/content/groups/public/</url>
		</repository>
		<repository>
			<id>osgeo</id>
			<name>Open Source Geospatial Foundation Repository</name>
			<url>http://download.osgeo.org/webdav/geotools/</url>
		</repository>
	</repositories>




分享到:
评论

相关推荐

    maven window下安装包

    第14章:灵活的构建/14.2 Maven属性的使用/14.2.3 属性解析/14.2.3.2 属性解析使用举例 第14章:灵活的构建/14.2 Maven属性的使用/14.2.3 属性解析/14.2.3.3 实例完整源代码 第14章:灵活的构建/14.3 激活属性文件的...

    项目中引用Maven私服仓库的快速配置教程.pdf

    项目中引用Maven私服仓库的快速配置教程, 帮助开发人员快速进行项目中Maven私服的配置,更灵活地管理自己项目中的Jar包。

    Maven实战.pdf

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven实战 许晓斌 著

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven实战(高清版)

    背景案例第5章 坐标和依赖第6章 仓库第7章 生命周期和插件第8章 聚合与继承第9章 使用nexus创建私服第10章 使用maven进行测试第11章 使用hudson进行持续集成第12章 使用maven构建web应用第13章 版本管理第...

    MavenDemo:Android使用Nexus搭建 Maven私有仓库

      Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。  Android...

    《Maven实战》

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven实战 高清版

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven实战 高清版pdf

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    maven 教程

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven 私服 Nexus3

    而Maven本身还支持多种插件, 可以方便更灵活的控制项目, 开发人员的主要任务应该是关注商业逻辑并去实现它, 而不是把时间浪费在学习如何在不同的环境中去依赖jar包,项目部署等。 Maven和ant都是软件构建工具(软件...

    Maven配置文档

    Maven进行测试、使用Hudson进行持续集成、使用 Maven构建 Web应用、Maven的版本管理、Maven的灵活构 建、生成项目站点和 Maven的 m2eclipse插件等实用性较强的高级知识,读者可有选择性的阅读;扩展性地讲解 了如何 ...

    里诺仓库管理软件 V3.60

    里诺仓库管理软件是一款通用性极强的仓库及货物管理软件,软件适用于食品、服装、保健品、电子、贸易、物资、化妆品、电器等工业、商业、贸易领域的企业。软件具有以下特点: 1、软件界面直观、操作简单,支持全...

    gradle-4.4-all.zip

    Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。 gradle-4.4-all....

    okdownload-可靠,灵活,高性能以及强大的下载引擎。.zip

    如何引入我们将OkDownload发布到了jcenter、mavenCentral以及Sonatype's snapshots仓库,更多关于如何引入OkDownload请移步到这里III. 如何使用简单的使用场景如启动、取消、队列下载或者是获取任务的状态与信息,...

    Eclipse解压版工具包

    eclipse安装,Eclipse 是一个开放源代码的、基于Java的可扩展开发...使用教程:解压压缩包、安装好jdk环境,双击打开eclipse.exe即可使用,设置在Window-&gt;Preferences打开,配置jdk路径、maven仓库地址、字体大小等。

    MyBatis-CMEU-Maven:该仓库为MyBatis-CMEU的maven版本,主要方便大家自己做修改

    软件说明:本软件已经不再维护,使用新版的Spring-generator代替它,欢迎使用新版Spring-generator欢迎使用更强大更灵活的

    Gradle 用户指南 .pdf

    Gradle 提供了: 一个像 Ant 一样的非常灵活的通用构建工具 一种可切换的, 像 maven 一样的基于合约构建的框架 支持强大的多工程构建 支持强大的依赖管理(基于 ApacheIvy ) 支持已有的 maven 和 ivy 仓库 支持传递性...

    GradleUser Guide.pdf

    Gradle 提供了: 一个像 Ant 一样的非常灵活的通用构建工具 一种可切换的, 像 maven 一样的基于合约构建的框架 支持强大的多工程构建 支持强大的依赖管理(基于 ApacheIvy ) 支持已有的 maven 和 ivy 仓库 支持传递性...

Global site tag (gtag.js) - Google Analytics