Hello Java

上传第三方sdk到私服

2018-07-06  本文已影响38人  Aldeo

在开发过程中项目之间的依赖可以通过deploy将依赖的项目上传到私服。但有时候项目需要引入第三方的sdk(但maven远程仓库没有更新,比如阿里的api),直接在ide中添加依赖肯定是不可取的,这时候就需要将第三方的sdk上传到私服,然后通过pom文件进行依赖配置。可以用两种方法,上传,第一种可以直接打开私服的管理页面进行上传(https://blog.csdn.net/alice_qixin/article/details/78390192),第二种是通过maven命令方法如下:

1.配置setting.xml文件确保私服配置正确

<?xml version="1.0" encoding="UTF-8"?>
<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">

  <!-- 
  本地仓库存储位置,默认为${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->

  <pluginGroups>

  </pluginGroups>  

  <proxies>

  </proxies>

  <!-- 发布的服务器及对应的用户名和密码-->
  <servers>   
    <server>  
        <id>releases</id>
        <username>admin</username>  
       <password>admin123</password>  
     </server>  
     <server>  
        <id>snapshots</id>  
        <username>admin</username>  
        <password>admin123</password>  
     </server>
    <server>  
        <id>thirdparty</id>  
        <username>admin</username>  
        <password>admin123</password>  
     </server>

  </servers>

  <mirrors>   
    <!-- 给nexus repository创建mirror镜像,-->
    <mirror>   
      <id>nexus</id>
      <mirrorOf>central</mirrorOf>   
      <url>http://192.168.33.107:8081/nexus/content/groups/public</url>   
    </mirror>   
    <!-- 配置其他镜像-->  
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
    <mirror>  
        <id>repo2</id>  
        <mirrorOf>central</mirrorOf>  
        <name>Human Readable Name for this Mirror.</name>  
        <url>http://repo2.maven.org/maven2/</url>  
    </mirror>
  </mirrors>

  <profiles>     
      <profile>  
        <id>nexus-profile</id>
        <activation>
          <jdk>1.7</jdk>
        </activation> 
        <repositories>  
          <!-- nexus仓库配置-->
          <repository>  
            <!-- repository唯一标识-->
            <id>nexus</id>  
            <!-- repository名称-->
            <name>local private nexus</name>  
            <!-- repository URL-->
            <url>http://192.168.33.107:8081/nexus/content/groups/public</url>  
            <!-- 表示可以从这个仓库下载releases版本的构件--> 
            <releases>
              <enabled>true</enabled>
            </releases>  
            <!-- 表示可以从这个仓库下载snapshots版本的构件--> 
            <snapshots>
              <enabled>true</enabled>
            </snapshots>  
          </repository>  
        </repositories> 
        <pluginRepositories>  
          <!-- nexus插件仓库配置-->
          <pluginRepository>  
            <id>nexus</id>  
            <name>local private nexus</name>  
            <url>http://192.168.33.107:8081/nexus/content/groups/public</url>  
            <releases>
              <enabled>true</enabled>
            </releases>  
            <snapshots>
              <enabled>true</enabled>
            </snapshots>  
          </pluginRepository>  
        </pluginRepositories>  
    </profile>    
  </profiles> 
  <!--激活私库信息的配置-->  
  <activeProfiles>  
      <activeProfile>nexus-profile</activeProfile>      
  </activeProfiles>  
</settings>

2.确保本地的maven已安装,在本地cmd窗口运行如下:

(1)将本地jar包安装到本地仓库

mvn install:install-file -DgroupId=taobao-sdk -DartifactId=taobao-sdk-java -Dversion=1479188381469 -Dpackaging=jar -Dfile=G:\dingdingMsgSDK\taobao-sdk-java-auto_1479188381469-20180702.jar

(2)将jar包上传到私服

mvn deploy:deploy-file -DgroupId=taobao-sdk -DartifactId=taobao-sdk-java-auto -Dversion=1479188381469-20180702 -Dpackaging=jar -Dfile=G:\dingdingMsgSDK\taobao-sdk-java-auto_1479188381469-20180702.jar -Durl=http://maven.long.com/nexus/content/repositories/releases -DrepositoryId=thirdparty

说明:

-Dfile指第三方jar的路径,其它的注意要确保maven命令中groupId、artifactId、version与pom.xml中的配置相同,-Dpackaging表示加载的文件类型 -DrepositoryId=需要与settings.xml中配置的server的id一致。

3.在pom文件引入如下即可自动更新私服上的jar包到本地仓库

<dependency>
    <groupId>taobao-sdk</groupId>
    <artifactId>taobao-sdk-java</artifactId>
    <version>1479188381469</version>
</dependency>
上一篇下一篇

猜你喜欢

热点阅读