Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 对pom.xml进行反向工程,使其具有一个装满jar的lib文件夹?_Maven - Fatal编程技术网

Maven 对pom.xml进行反向工程,使其具有一个装满jar的lib文件夹?

Maven 对pom.xml进行反向工程,使其具有一个装满jar的lib文件夹?,maven,Maven,标题说明了一切 在一个装满JAR的lib文件夹中,是否可以对pom.xml依赖项进行反向工程 i、 e.在给定jar名称和/或SHA1校验和的情况下发现公开可用的Maven工件 下面是一个简单的尝试,但效果不太好,因为搜索通常会返回太多匹配项: #!/usr/bin/python # Mavenize a lib folder, converting jars into dependencies import os import sys import urllib2 import json

标题说明了一切

在一个装满JAR的lib文件夹中,是否可以对pom.xml依赖项进行反向工程

i、 e.在给定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>"

如果这些jar文件是由maven生成的,那么是的,这是可能的。在另一种情况下,如果没有额外的步骤,例如尝试从mvnrepository中查找组id和版本等,则是不可能的。

如果这些jar文件是由maven生成的,那么是的,这是可能的。在另一种情况下,如果没有额外的步骤,例如尝试从mvnrepository中查找组id和版本,则是不可能的