这是一个测试demo,利用这个demo可以辅助将普通的项目转化为maven项目,不用一个个去找包写包
public void getList(){
File dir = new File("jar包所在的文件夹名");
for (File jar : dir.listFiles()) {
String jarname = jar.getName();
int index = jarname.lastIndexOf("-");
int jarIndex = jarname.lastIndexOf(".");
//包名
String bundleName = jarname.substring(0,index);
//包版本
String bundleVersion = jarname.substring(index +1 ,jarIndex );
//包名和版本号两者缺一个说明这包命名不严谨,只能自行导入包
if (bundleName ==null || bundleVersion == null){
System.out.println("该包命名不符合要求:【" + jar.getName() + "】,请自行添加");
continue;
}
System.out.println("<!--"+jar.getName()+"-->");
getDependices(bundleName,bundleVersion);
}
}
//用于根据包名以及版本号进行查找
public void getDependices(String key, String ver) {
//maven的搜索api
String url ="https://mvnrepository.com/search?q="+key;
org.jsoup.nodes.Document doc = null;
try {
//获取搜索得到的html结果
doc = Jsoup.connect(url).ignoreContentType(true).timeout(30000).get();
} catch (IOException e) {
e.printStackTrace();
}
//获取html的body标签
org.jsoup.nodes.Element elem = doc.body();
//获取对应的包详情页地址
String href = elem.childNodes().get(1).childNodes().get(2).childNodes().get(2).childNodes().get(0).attributes().get("href");
System.out.println(href);
String[] jarinfo = href.split("/");
String result = "<dependency>\n" +
" <groupId>"+jarinfo[2]+"</groupId>\n" +
" <artifactId>"+key+"</artifactId>\n" +
" <version>"+ver+"</version>\n" +
"</dependency>";
System.out.println(result);
}
注意事项:
maven的网页格式随时可能会发生变化,所以仅仅只提供思路参考