Maven实战——远程仓库的配置

远程仓库的配置
在很多情况下,默认的中央仓库无法满足项目的需求,可能项目需要的构件存在于另外一个远程仓库中
如JBoss仓库:

<project>
...
    <repositories>
        <repository>
            <id>jbossid>
            <name>JBoss Repositoryname>
            <url>http://repository.jboss.com/maven2/url>
            <releases>
                <enabled>trueenabled>
            releases>
            <snapshots>
                <enabled>falseenabled>
            snapshots>
            <layout>defaultlayout>
        repository>
    repositories>
    ...
project>

在repositories元素下,可以使用子元素repository元素声明一个或者多个远程仓库。
对于releases和snapshots来说,除了enabled还包括另外两个子元素updatePolicy和ChecksumPolicy:

<snapshots>
    <enabled>trueenabled>
    <updatePolicy>dailyupdatePolicy>
    <checksumPolicy>ignorechecksumPolicy>
snapshots>

updatePolicy用来配置Maven从远程仓库检查跟新的频率,默认是daily,never从不检查,interval:X——每隔X分钟检查一次更新。
checksumPolicy用来配置Maven检查校验和文件的策略。默认未warn:构建时输出警告信息,fail:遇到错误就构建失败,ignore:使Maven完全忽略掉校验和错误。
远程仓库的认证
配置认证信息和仓库信息不同,配置仓库信息直接在pom文件中进行配置,但是配置认证信息需在settings.xml中配置认证信息更为安全。假设需要配置一个id为my-proj的仓库认证信息,如下:


...
    
        
            my-proj
            repo-user
            repo-pwd
        
    
...

部署至远程仓库
Maven除了对项目进行编译、测试、打包之外,还能项目生成构建部署到仓库中,需要编辑pom.xml如下:

<project>
    ...
    <distributionManagement>
        <repository>
            <id>proj-releasesid>
            <name>Proj Release Repositoryname>
            <url>http://192.168.1.100/content/repositories/proj-releasesurl>
        repository>
        <snapshotRepository>
            <id>proj-snapshotsid>
            <name>Proj Snapshot Repositoryname>
            <url>http://192.168.1.100/content/repositories/proj-releasesurl>
        snapshotRepository>
    distributionManagement>
    ...
project>

repository和snapshotRepository子元素前者表示发布版本构件的仓库,后者表示快照版本的仓库。
往远程仓库部署构件的时候往往需要认证,简而言之,就是需要在settings.xml中创建一个Server元素,其id与仓库的id匹配,并且配置正确的认证信息。不论从远程仓库下载构件还是部署构件到远程仓库,当需要认证的时候,配置的方式是一样的。
配置正确之后,运行mvn clean deploy,Maven就会将项目构建输出的构件部署到配置的远程仓库上。

你可能感兴趣的:(开发环境与Maven,maven,远程仓库配置)