标题说明了一切。
如果lib文件夹中装满了jars,是否可以对pom.xml依赖项进行反向工程?
即。在给出jar名称和/或SHA1校验和的情况下,发现公开提供的Maven工件。
这是一个天真的尝试,效果不好,因为搜索通常会返回太多匹配:
#!/usr/bin/python
# Mavenize a lib folder, converting jars into dependencies
import os
import sys
import urllib2
import json
for file in os.listdir(sys.argv[1]):
url = "http://search.maven.org/solrsearch/select?rows=1&wt=json&q=" + file
response = urllib2.urlopen(url)
jsonStr = response.read()
jsonObj = json.loads(jsonStr)
if(jsonObj["response"]["numFound"] > 0):
print "<dependency><!-- for " + file + "-->"
print " <groupId>" + jsonObj["response"]["docs"][0]["g"] + "</groupId>"
print " <artifactId>" + jsonObj["response"]["docs"][0]["a"] + "</artifactId>"
print " <version>" + jsonObj["response"]["docs"][0]["latestVersion"] + "</version>"
print "</dependency>"
答案 0 :(得分:0)
如果maven生成的那些jar文件那么是可能的。在其他情况下,如果没有额外的步骤,例如尝试从mvnrepository等中查找组ID和版本,则无法实现。