zoukankan      html  css  js  c++  java
  • Maven 如何发布 jar 包到 Nexus 私库

    Nexus2可以通过管理界面来上传jar包到私库中,而最新的Nexus3却找不到了上传界面,只能通过以下方式来发布到私库。

    发布第三方jar包

    这种情况是maven远程仓库没有,本地有的第三方jar包,需要发布到私库。

    mvn deploy:deploy-file 
      -DgroupId=com.example
      -DartifactId=test
      -Dversion=0.0.1
      -Dpackaging=jar
      -Dfile=E:workspace	estWebRootWEB-INFlib	est-0.0.1.jar
      -Durl=http://nexus.example.com:8081/repository/3rd-repo/
      -DrepositoryId=Nexus
    

    注意file的目录不能和本地仓库目录一致,不然会报错。

    发布自有项目

    公司自己的项目需要发布到Nexus私库提供给其他人依赖,这时可以用上面的方式先打成jar包再发布,也可以使用maven的eclipse插件。

    添置maven pom配置:

    <distributionManagement>
    	<repository>
    		<id>Nexus</id>
    		<name>Releases</name>
    		<url>http://nexus.example.com:8081/repository/maven-releases</url>
    	</repository>
    	<snapshotRepository>
    		<id>Nexus</id>
    		<name>Snapshot</name>
    		<url>http://nexus.example.com:8081/repository/maven-snapshots</url>
    	</snapshotRepository>
    </distributionManagement>
    

    再在eclipse项目上使用Run As..>Maven build..,在Goals里面输入deploy发布即可。

    Maven settings配置

    以上两点其中Nexus指的是maven server的id,大小写敏感,增加以下配置。

    <servers>
    
        <server><id>Nexus</id>
          <username>admin</username>
          <password>admin123</password>
        </server>
        
    </servers>
    

    关于Maven的使用及私库的搭建可以翻阅之前的Maven精选系列文章。

    =========================================================================

    使用命令上传第三方jar到nexus

    示例:

    上传一个处理word的jar包到nexus上。

    jar包为jacob

    我们先在nexus上搜索一下:下面是搜不出来的

    步骤1:

    把hosted资源库,也配置到maven的settting.xml文件中

    添加下面:

    <!--id自定义,但是在使用命令上传的时候会用到-->
    <server> <id>myself_hosted</id> <username>admin</username> <password>admin123</password> </server>

    到目前为止,我的settting.xml文件也就是下面这些东西

     步骤2:

     使用

    以下命令

    mvn deploy:deploy-file -DgroupId=sxd.jar -DartifactId=jacob -Dversion=1.18 -Dpackaging=jar -Dfile=G:jarjacob-1.18.jar -Durl=http://localhost:8081/repository/myself_hosted/ -DrepositoryId=myself_hosted

    命令解释:

    -DgroupId=sxd.jar                           自定义
    -DartifactId=jacob                          自定义
    -Dversion=1.18                            自定义  三个自定义,构成pom.xml文件中的坐标
    -Dpackaging=jar                           上传的类型是jar类型
    -Dfile=G:jarjacob-1.18.jar                   jar的本地磁盘位置
    -Durl=http://localhost:8081/repository/myself_hosted/    hosted资源库的地址,下图中
    -DrepositoryId=myself_hosted                   setting.xml文件中配置的ID

     

     上传完成,再nexus中查看一下:

    上传成功!!!

    步骤3:

    在项目的pom.xml文件中引入一下jar包

         <dependency>
                <groupId>sxd.jar</groupId>
                <artifactId>jacob</artifactId>
                <version>1.18</version>
                <scope>provided</scope>
            </dependency>

    保存pom.xml文件。

    这下,发现maven下已经引入成功。并且已经将这个jar包放入本地maven仓库了。

    ===============================================

    mvn deploy:deploy-file -DgroupId=sjht-e-iceblue -DartifactId=spire.xls.free -Dversion=2.2.0 -Dpackaging=jar -Dfile=C:UserspanchangguiDesktopspire.xls.free-2.2.0.jar -Durl=http://203.195.xxx.xx:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=sjht_nexus_hosted

  • 相关阅读:
    阿里P8架构师谈:阿里双11秒杀系统如何设计?
    秒杀系统设计的知识点
    秒杀系统架构优化思路
    秒杀系统解决方案
    Entity Framework Code First (七)空间数据类型 Spatial Data Types
    Entity Framework Code First (六)存储过程
    Entity Framework Code First (五)Fluent API
    Entity Framework Code First (四)Fluent API
    Entity Framework Code First (三)Data Annotations
    Entity Framework Code First (二)Custom Conventions
  • 原文地址:https://www.cnblogs.com/panchanggui/p/13752582.html
Copyright © 2011-2022 走看看