Maven私服搭建步骤

821 阅读4分钟








三、项目中配置Nexus仓库

maven的setting.xml文件配置(本地Maven仓库中的配置文件)


<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

     xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-  1.0.0.xsd">


<!--存放本地仓库的地方-->

<localRepository>E:\Maven\MavenRepository</localRepository>


<!--私服的验证信息-->

<servers>

    <server>

         <id>releases</id>

         <username>admin</username>

         <password>admin123</password>

   </server>

   <server>

        <id>snapshots</id>

        <username>admin</username>

        <password>admin123</password>

   </server>

</servers>


<!--maven对全部仓库的访问全部拦截到私服的public仓库中去,如果私服关闭,那么久不能访问中央工厂了-->

<mirrors>

    <mirror>

         <id>nexus</id>

         <mirrorOf>*</mirrorOf>

         <name>Local Repository</name>

             <url>http://10.100.1.145:8081/nexus/content/groups/public</url>

     </mirror>

</mirrors>


<!--配置仓库的一些信息,其主要作用是用来覆写central中央仓库的一些配置信息-->

<profiles>

      <profile>

           <id>central</id>

           <repositories>

                 <repository>

                       <id>central</id>

                       <name>Central</name>

                       <!--该url没有意义,可以随便写,但必须有。-->

                        <url>http://*</url>

                        <releases><enabled>true</enabled></releases>

                        <snapshots><enabled>true</enabled></snapshots>

                  </repository>

            </repositories>

<pluginRepositories>

       <pluginRepository>

             <id>central</id>

             <name>local private nexus</name>

             <url>http://10.100.1.145:8081/nexus/content/groups/public</url>

             <releases><enabled>true</enabled></releases>

             <snapshots><enabled>true</enabled></snapshots>

        </pluginRepository>

</pluginRepositories>

</profile>

</profiles>


<!--激活上面配置的仓库信息-->

<activeProfiles>

       <activeProfile>central</activeProfile>

</activeProfiles>

</settings>



项目中pom.xml配置

<repositories>

     <repository>

           <id>elastic-lucene-snapshots</id>

            <name>Elastic Lucene Snapshots</name>

            <url>http://s3.amazonaws.com/download.elasticsearch.org/lucenesnapshots/00142c9</url>

            <releases><enabled>true</enabled></releases>

            <snapshots><enabled>false</enabled></snapshots>

     </repository>


     <repository> <!--发布版本仓库-->

          <id>releases</id>

          <name>Nexus Release Repository</name>

          <url>http://10.100.1.145:8081/nexus/content/repositories/releases/</url>

      </repository>

    

      <repository> <!--快照版本仓库-->

                 <id>snapshots</id>

                 <name>Nexus Snapshot Repository</name>

                 <url>http://10.100.1.145:8081/nexus/content/repositories/snapshots/</url>

     </repository>


     <repository> <!--第三方发布版本仓库-->

               <id>thirdparty</id>

               <name>Nexus Thirdparty Repository</name>

               <url>http://10.100.1.145:8081/nexus/content/repositories/thirdparty/</url>

       </repository>

</repositories>


<!--项目部署到私服配置-->

<distributionManagement> <!--远程部署管理信息-->

     <repository> <!--部署项目产生的构件到远程仓库需要的信息-->

        <id>releases</id>

        <name>Nexus Release Repository</name>

         <url>http://10.100.1.145:8081/nexus/content/repositories/releases/</url>

     </repository>

     <snapshotRepository> <!--如果没有配置该元素,默认部署到repository元素配置的仓库-->

          <id>snapshots</id>

          <name>Nexus Snapshot Repository</name>

          <url>http://10.100.1.145:8081/nexus/content/repositories/snapshots/</url>

     </snapshotRepository>

</distributionManagement>

四、上传jar包

1、java项目自动上传:

自动将pom中所有依赖包下载并上传到Maven私服中

在terminate窗口执行命令:mvn deploy;

2、使用deploy命令上传:

mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=E:\scmd-questionnaire\target\scmd-questionnaire-1.0.jar -DgroupId=scmd-questionnaire -DartifactId=scmd-questionnaire -Dversion=1.0 -Dpackaging=jar -DrepositoryId=releases -Durl=http://10.100.1.145:8081/nexus/content/repositories/releases/

// 上传到release中注意版本号不能加snapshoot