Maven基础2

来源:互联网 发布:日本语言翻译软件 编辑:程序博客网 时间:2024/06/08 03:47

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
原创粉丝点击