Maven基础2

1.maven怎样去寻找路径

 1)根据groupId : formateAsDiretory()将groupid中的句号分隔符转化为路径分隔符,之后添加“/”

 2)在前面的基础上添加artificaetId 和一个“/”

3)然后在此基础上添加版本信息和“/”

4)如果有classifier 添加 classifier

最后得到项目的实际路径

2.maven 查找库

 首先查找本地仓库,如果不存在或者需要更新的话则去远程仓库查找,找到后下载到本地的仓库中。

3.配置远程仓库位置

<project>
  ...
  <repositories>
    <repository>
      <id>jboss</id>
      <name>JBoss Repository</name>
      <url>http://repository.jboss.com/maven2/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
    <layout>default</layout>
  </repositories>
  ...
</project>

可以使用多个<repository>声明多个仓库。id必须唯一,默认的中央仓库的id 为central

如果需要认证,则在setting.xml中添加 Servers

<settings>
<servers>
<server>
 <id>jboss</id>
 <username>user</username>
<password>psw</password>
</server>
</servers>
</settings>
这其中的id 必须为 pom中repositories的id一致。

3.部署到仓库:

 (1)可以使用命令进行部署到本地仓库

  (2)修改pom文件,添加distributionManagement元素

   <project>
  ...
  <destributionManagement>
    <repository>
      <id>proj-releases</id>
      <name>Proj Release Repository</name>
      <url>http://192.168.1.100/content/repositories/proj-releases</url>
    </repository>
    <snapshotRepository>
      <id>proj-snapshots</id>
      <name>Proj Snapshot Repository</name>
      <url>http://192.168.1.100/content/repositories/proj-snapshots</url>
    </snapshotRepository>
  </destributionManagement>
  ...
</project>

往远程仓库部署构件的时候,往往需要认证。就是需要在settings.xml中创建一个server元素,其id与仓库的id匹配,并配置正确的认证信息。不论远程仓库下载构件,还是部署构件至远程仓库,当需要认证的时候,配置的方式是一样的。配置正确后,在命令行运行mvn clean deploy,Maven就会将项目构建输出的构件部署到配置对应的远程仓库,如果项目当前的版本是快照版本,则部署到快照版本仓库地址,否则就部署到发布版本仓库地址。

<settings>

        ...

         <mirrors>

             <mirror>

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

                 <name>one of the central mirror in chaina</name>

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

                 <mirrorOf>central</mirrorOf>

             </mirror>

         </mirrors>

          ...

   </settings>

   说明:mirrorOf的值为central,表示该配置为中央仓库的镜像,任何对于中央仓库的请求都会转至该镜像。

  定义一个私服,访问所有的外部仓库,以免在pom中添加多个外部仓库

<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/mavnen2.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值