吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4872|回复: 3
收起左侧

[Java 转载] 【转载】使用java代码批量导入jar到maven的本地仓库

[复制链接]
SinerW 发表于 2018-4-26 12:09
前段时间学习了maven 写了一个ssm框架的项目,但是因为jar包不是特别的完整,但是本地的文件夹中有相关的jar包,不想再去中央仓库下载相对应的jar包。但是使用cmd导入jar的方法又太麻烦(只能一个一个的导入)所以上网查了查应该如何批量导入jar到maven仓库,在某个博客看到一个博主写的一个工具类,解决了我批量导jar的问题
[Java] 纯文本查看 复制代码
import java.io.File;
import java.util.Iterator;
import java.util.LinkedList;


/**
 * 功能:生成maven批量安装jar的语句
 * [url=home.php?mod=space&uid=686208]@AuThor[/url] pactera
 *
 */
public class addjarToMaven {
	
	//批量安装jar所在目录
//	public static String filePath = "D:/develop/apache-tomcat-8.0.9/apache-tomcat-8.0.9/webapps/activiti-rest/WEB-INF/lib";
	public static String filePath = "E:/开发资料/工作流/activity/activiti-5.22.0/libs";
	
	public static void main(String[] args) {
		LinkedList<File> linkedList = new LinkedList<>();
		File f = new File(filePath);  
        File[] file = f.listFiles();
        for (int i = 0; i < file.length; i++) {
        	linkedList.add(file[i]);
		}
//		printFile(linkedList);
        printFiles(linkedList);
	}
    
	/**
	 * 功能:批量安装maven的本地的jar
	 * @param args
	 */
    public static void printFile(LinkedList<File> linkedList) {
    	String sb = "mvn install:install-file -Dfile="+filePath+"/AA.jar -DgroupId=com.activiti -DartifactId=com.activiti.AA -Dversion=1.0.0 -Dpackaging=jar";
    	for (Iterator<File> iterator = linkedList.iterator(); iterator.hasNext();) {
			File file =  iterator.next();
			if(file.isFile()){
				String fileName = file.getName();
				System.out.println(sb.replace("AA",fileName.substring(0,fileName.lastIndexOf("."))));
				linkedList.remove(file);
				printFile(linkedList);
			}else{
				break;
			}
		}
    }  
    
    
    /**
	 * 功能:批量引入maven的pom
	 * @param args
	 */
    public static void printFiles(LinkedList<File> linkedList) {
    	String sb = "<dependency><groupId>com.activiti</groupId><artifactId>com.activiti.BBB</artifactId><version>1.0.0</version><type>jar</type></dependency>";
    	for (Iterator<File> iterator = linkedList.iterator(); iterator.hasNext();) {
			File file =  iterator.next();
			if(file.isFile()){
				String fileName = file.getName();
				System.out.println(sb.replace("BBB",fileName.substring(0,fileName.lastIndexOf("."))));
				linkedList.remove(file);
				printFiles(linkedList);
			}else{
				break;
			}
		}
    } 
}





因为找不到这个博客博主的名字,所以我没有办法署上他的名字  如果这位博主看到了这个贴子,请通知我署上您的名字

如果违规,请删帖。

免费评分

参与人数 1吾爱币 +1 收起 理由
wushaominkk + 1 按格式要求发帖

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Unreal.E.Age 发表于 2018-4-26 13:25
com.activiti   能这么干吗
你要引入的包  可能属于不同的机构
 楼主| SinerW 发表于 2018-4-26 14:03
Unreal.E.Age 发表于 2018-4-26 13:25
com.activiti   能这么干吗
你要引入的包  可能属于不同的机构

对啊,当时没有想到。因为当时导入的都是spring的jar。谢谢提醒,看来我还得再去看看了。
talons 发表于 2018-5-25 15:17
本帖最后由 talons 于 2018-5-25 15:19 编辑

不太明白为什么使用了迭代器迭代之后还要使用递归,假如linkedList 中有50个元素,是不是要递归下钻50级?而且既然已经导入到了本地仓库是不是直接从仓库jar的pom中直接获取GAV保险一点
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 15:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表