zoukankan      html  css  js  c++  java
  • 【maven】之nexus常用的一些配置

    nexus私服主要是在项目和maven中央仓库中间做代理,一般在公司内网或者公司内部的一些私包,都需要这么个产品。下面主要是关于maven和nexus之间的一些配置

    1、在pom中配置nexus私服

    <!-- jar仓库 -->
        <repositories>
            <repository>
                <id>nexus</id>
                <name>nexusRep</name>
                <url>http://xxx.74.97.19999:8081/nexus/content/groups/public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
        <!-- 插件库 -->
        <pluginRepositories>
            <pluginRepository>
                <id>nexus</id>
                <name>nexusPlugin</name>
                <url>http://xxx.74.97.19999:8081/nexus/content/groups/public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    <profile>  
        <id>jdk18</id>  
        <activation>  
            <activeByDefault>true</activeByDefault>  
            <jdk>1.8</jdk>  
        </activation>  
        <properties>  
            <maven.compiler.source>1.8</maven.compiler.source>  
            <maven.compiler.target>1.8</maven.compiler.target>  
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>  
        </properties>   
    </profile>  

    2、在当前项目的pom文件做以上配置,仅仅在当前项目中生效,如果想在所有项目中生效,需要在maven的setting.xml文件中进行配置。

    <profile>
          <id>nexusProfile</id>
          <activation>
            <jdk>1.8</jdk>
          </activation>
          <repositories>
            <repository>
                <id>nexus</id>
                <name>nexusRep</name>
                <url>http://xxx.74.97.19999:8081/nexus/content/groups/public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
             </repository>
          </repositories>
          <pluginRepositories>
            <pluginRepository>
                <id>nexus</id>
                <name>nexusPlugin</name>
                <url>http://xxx.74.97.19999:8081/nexus/content/groups/public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
          </pluginRepositories>
        </profile>
      </profiles>
    <activeProfiles>
      <activeProfile>nexusProfile</activeProfile>
    </activeProfiles>

    激活当前配置。

    这样就可以使所有的项目都使用自己的nexus私服。但是你会发现还有小部分请求会到maven的中央工厂,解决方法就是配置mirror

    <mirror>
        <id>nexus</id>
        <name>nexus</name>
        <mirrorOf>*</mirrorOf>
        <url>http://xxx.74.97.19999:8081/nexus/content/groups/public/</url>
    </mirror>

    这样限制住服务只能通过nexus私服去访问maven中央仓库,如果当前的nexus私服宕机了,那么项目是无法使用maven中央仓库数据的。

    3、将项目发送到nexus私服中去

    首先在pom中配置发布的地址

    <distributionManagement>
            <repository>
                <id>nexus-rep</id>
                <name>nexusRep</name>
                <url>http://xxx.74.97.xxx:8081/nexus/content/repositories/releases/</url>
            </repository>
            <snapshotRepository>
                <id>nexus-snap</id>
                <name>nexusSnap</name>
                <url>http://xxx.74.97.xxx:8081/nexus/content/repositories/snapshots/</url>
            </snapshotRepository>
        </distributionManagement>

    发布项目还需要授权,这个需要在setting文件中配置

    <server>
          <id>nexus-rep</id>
          <username>deployment</username>
          <password>deployment123</password>
        </server>
        <server>
          <id>nexus-snap</id>
          <username>deployment</username>
          <password>deployment123</password>
    </server>

    执行mvn:deploy,即可发布。

  • 相关阅读:
    新闻列表中标题和日期的左右分别对齐的几种处理方法
    BFC
    css清除浮动float的几种方法
    git 恢复单个文件
    Git ignore
    198. House Robber(动态规划)
    121. Best Time to Buy and Sell Stock(股票最大收益)
    120. Triangle(动态规划 三角形最小路径 难 想)
    91. Decode Ways(动态规划 26个字母解码个数)
    53. Maximum Subarray(动态规划 求最大子数组)
  • 原文地址:https://www.cnblogs.com/gyjx2016/p/8763528.html
Copyright © 2011-2022 走看看