maven批量上传jar到nexus私服

基本思路:采用java编写一个工具,生成bat脚本


import java.io.File;
import java.io.IOException;

public class UploadJar2Nexus {
    public static String settingXml="";
    public static String dir="";
    public static String groupId="";
    public static String repositoryId="";
    public static String url="";

    public static void main(String[] args) throws IOException {
        if(args[0].equals("-h")||args[0].equals("-H")||args[0].equals("-help")||args.length != 5)
        {
            help();
            return;
        }

        readArgs(args);
        File dir = new File(args[0]);
        File[] flist = dir.listFiles();
        for(File f:flist)
        {
            if(f.isFile())
            {
                String _path=f.getAbsolutePath();
                String _artifactId = f.getName().substring(0,f.getName().lastIndexOf("-"));
                String _version=f.getName().substring(f.getName().lastIndexOf("-")+1, f.getName().lastIndexOf("."));
                StringBuffer cmdStr= new StringBuffer("");
                cmdStr.append("C:\\software\\apache-maven-3.6.0\\bin\\mvn.Cmd -s ");
                cmdStr.append(settingXml);
                cmdStr.append(" deploy:deploy-file -Dfile=");
                cmdStr.append(_path);
                cmdStr.append(" -DgroupId=");
                cmdStr.append(groupId);
                cmdStr.append(" -DartifactId=");
                cmdStr.append(_artifactId);
                cmdStr.append(" -Dversion=");
                cmdStr.append(_version);
                cmdStr.append(" -Dpackaging=jar -DrepositoryId=");
                cmdStr.append(repositoryId);
                cmdStr.append(" -Durl=");
                cmdStr.append(url);
                cmdStr.append(" -X");
                System.out.println(cmdStr.toString());
            }
        }

    }

    public static void help()
    {
        System.out.println("Usage: java -jar UploadJar2Nexus dir groupId repositoryId url settingXml");
        System.out.println("example: java -jar UploadJar2Nexus C:\\lib com releases http://localhost:8090/repository/maven-releases/ C:\\apache-maven-3.6.0\\conf\\setting.xml");
    }

    public static void readArgs(String[] args)
    {
        System.out.println("dir:"+args[0]);
        System.out.println("groupId:"+args[1]);
        System.out.println("repositoryId:"+args[2]);
        System.out.println("url:"+args[3]);
        System.out.println("settingXml:"+args[4]);
        dir=args[0];
        groupId=args[1];
        repositoryId=args[2];
        url=args[3];
        settingXml=args[4];
    }
}

在该工具目录下执行生成的bat脚本,与pom.xml同一级目录执行, pom.xml配置

   <distributionManagement>
        <repository>
            <id>releases</id>
            <name>releases</name>
            <url>http://localhost:8090/repository/maven-releases/</url>
        </repository>

        <snapshotRepository>
            <id>snapshots</id>
            <name>snapshots</name>
            <url>http://localhost:8090/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

maven的setting.xml文件中配置

	<server>
      <id>releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>


	<mirror>
      <id>releases</id>
      <name>nexus repository</name>
      <url>http://localhost:8090/repository/maven-releases/</url>
      <mirrorOf>releases</mirrorOf>
    </mirror>
		<repository>
          <id>releases</id>
          <url>http://localhost:8090/repository/maven-releases/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值