【转载】使用java代码批量导入jar到maven的本地仓库
前段时间学习了maven 写了一个ssm框架的项目,但是因为jar包不是特别的完整,但是本地的文件夹中有相关的jar包,不想再去中央仓库下载相对应的jar包。但是使用cmd导入jar的方法又太麻烦(只能一个一个的导入)所以上网查了查应该如何批量导入jar到maven仓库,在某个博客看到一个博主写的一个工具类,解决了我批量导jar的问题import java.io.File;
import java.util.Iterator;
import java.util.LinkedList;
/**
* 功能:生成maven批量安装jar的语句
* @AuThor 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);
}
// 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;
}
}
}
}
因为找不到这个博客博主的名字,所以我没有办法署上他的名字如果这位博主看到了这个贴子,请通知我署上您的名字
如果违规,请删帖。 com.activiti 能这么干吗
你要引入的包可能属于不同的机构 Unreal.E.Age 发表于 2018-4-26 13:25
com.activiti 能这么干吗
你要引入的包可能属于不同的机构
对啊,当时没有想到。因为当时导入的都是spring的jar。谢谢提醒,看来我还得再去看看了。 本帖最后由 talons 于 2018-5-25 15:19 编辑
不太明白为什么使用了迭代器迭代之后还要使用递归,假如linkedList 中有50个元素,是不是要递归下钻50级?而且既然已经导入到了本地仓库是不是直接从仓库jar的pom中直接获取GAV保险一点
页:
[1]