zoukankan      html  css  js  c++  java
  • Maven--几个需要补充的问题(三)

    Maven--搭建开发环境(一)

    Maven--构建企业级仓库(二)

    Maven—几个需要补充的问题(三)

    前两篇由于篇幅太长,为了给读者理解方便,这篇集中解决前两篇遗留下的几个问题,算是对之前的一个补充,大概归纳了一下,总共有四个问题,下面来一一解决。

    一、          在第一篇文章中,直接修改config下的setting文件是最佳方式吗?远程仓库配置在pom中,还是setting中?

    第一篇中把远程仓库信息直接配置在了config文件夹下的setting中,其实,Maven包括两个setting,一个是我们刚才看到

    setting,还有另一个C:Usersusername.m2settings.xml,打开eclipse—preferences—Maven—UserSetting就可以看到了。一般情况下,config下的setting作为全局的配置,一个项目组就用这个配置,因此可以把共用的配置放在这个setting中,而C盘下的setting是一个本地的配置,也就是用户自己的配置,可以做一些自定义的配置,据说可以配置用户信息,因此我觉着把远程仓库直接配置在config应该是最佳的方式。

    其实远程仓库可以向下图这样,直接配置在pom中的,但是一般不建议这么做,因为pom是针对每个项目的,而setting

    针对项目组,对于多项目,配置在setting中再合适不过。

          

    二、          Setting中的profile是什么?

    构建项目时可能会遇到在测试(如单元测试)、开发、模拟、生产等不同环境下需要不同配置(propertiesxml)或资源

    jpgpngmp3)的情况。又或者针对不同的操作系统(如 WindowsLinux)需要为某个配置设定不同的文件路径。可见,在不同的软件开发生命周期阶段、不同的最终客户(用户)环境、不同的运行平台都有可能需要不同配置或资源的情况。因此,用profile来解决此问题,在特定的情况下激活其配置,Mavenprofile有四种激活方式:根据环境自动激活;通过命令行参数激活;配置默认自动激活;配置settings.xml文件 profile激活。由此可见,我们用的是最后一种激活方式,关于激活方式就不多讲了,不然又得需要一篇。http://juvenshun.iteye.com/blog/208714

    三、          配置远程仓库中,mirror(镜像)是什么?

    举个例子,比如你给张三打电话,发现张三把电话设置了呼叫转移,转到了李四,并且李四能完成张三的功能,因此,这个李四就是张三的一个镜像。第一篇和第二篇都接触了镜像,在这主要说一下第一篇中的镜像,在第一篇中配置的http://127.0.0.1:8080/nexus/content/groups/public/就是所有仓库的镜像,因此,客户端所有的请求都会转发到此地址。该例中<mirrorOf>的值为星号,表示该配置是所有Maven仓库的镜像,如果该镜像仓库需要认证,则配置一个Idpublic<server>即可。为了满足一些复杂的需求,Maven还支持其他的镜像配置:

    1.<mirrorOf>*</mirrorOf>:匹配所有远程仓库。

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

    3.<mirrorOf>repo1,repo2</mirrorOf>:匹配仓库repo1repo2,使用逗号分隔多个远程仓库。

    4.<mirrorOf>*,!repo1</miiroOf>:匹配所有远程仓库,repo1除外,使用感叹号将仓库从匹配中排除。

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

    四、          第二篇文章讲了如何构建私服,那如何上传自己的构建呢?

    这里我就直接引用一位网友的内容了,写的不错,截图也太麻烦,上传自己的构建,也就是往3rdparty(宿主仓库)上传,

    所谓自定义构件指的是无法从Maven的中央仓库进行下载的构建。本人在此选用的是最简单方便的手动上传构件(当然上传构件至宿主仓库还有一些方式)。单击3rdparty(宿主仓库)ArtifactUpload选项,我们首先来上传一个基于Maven项目的自定义构件,如下图:


    最后别忘记了添加构件:


    如果你的构件不是基于Maven的呢?那么你可以选择GAVParameters属性:


    按照上述步骤,就成功将自定义构件上传至宿主仓库中了。

  • 相关阅读:
    工程事故与现实世界(续)
    工程事故与现实世界
    直觉与概率
    有一种冲动:世界那么大
    人生的意义
    这些年来什么才是最好的投资?
    时间太少,如何阅读?
    程序员的成长法则与进阶攻略
    秘密:从程序员到领导者的微妙之处
    为什么加入付费社群?
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3323214.html
Copyright © 2011-2022 走看看