Hello Maven 6 - 使用Nexus创建私服

使用Nexus创建私服
Nexus四种仓库类型
group 仓库组
hosted 宿主
proxy 代理
virtual 虚拟 主要用于maven1 可忽略

配置项目从Nexus下载构件
在项目的pom文件中

<project>
    ...
    <repositories>
        <repository>
            <id>nexus</id>
            <name>Nexus Repository</name>
            <url>http://localhost:8081/nexus/content/group/pbulic/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>nexus</id>
            <name>Nexus Repository</name>
            <url>http://localhost:8081/nexus/content/group/pbulic/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
    ...
</project>


配置所有项目从Nexus下载构件
在settings.xml中

<settings>
    ...
    <profiles>
        <profile>
            <id>nexus</id>
            <repositories>
                <repository>
                    <id>nexus</id>
                    <name>Nexus Repository</name>
                    <url>http://localhost:8081/nexus/content/group/pbulic/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>nexus</id>
                    <name>Nexus Repository</name>
                    <url>http://localhost:8081/nexus/content/group/pbulic/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    
    <activeProfiles>
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
    ...
</settings>


配置镜像让Maven只使用私服


部署构建至Nexus

<project>
    ...
    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>Releases Repository</name>
            <url>http://localhost:8081/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Snapshots Repository</name>
            <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
    ...
</project>

Nexus仓库对匿名用户是只读的,在settings.xml中配置认证信息后,才能部署构建

<settings>
    ...
    <servers>
        <server>
            <id>nexus-releases</id>
            <username>admin</username>
            <password>*****</password>
        </server>
        <server>
            <id>nexus-snapshots</id>
            <username>admin</username>
            <password>*****</password>
        </server>
    </servers>
    ...
</settings>


手动上传部署构件至Nexus

Nexus权限管理

为每个项目分配独立的仓库

Nexus的定时任务

其他私服软件
    Apache的Archiva
    JFrog的Artifactory

posted on 2015-09-06 10:25  汤能养身  阅读(248)  评论(0)    收藏  举报

导航