'''
根据group id 创建文件夹路径
'''
def groupPath(group,artifactId,version):
group = group.replace('.','/')
if repository[-1]!='/' :
group = repository+'/'+group
else:
group = repository+group
group = group+'/'+artifactId+'/'+version
exists = os.path.exists(group)
if not exists :
os.makedirs(group)
return group
'''
获取某XML节点下,子节点的值
'''
def nodeVal(element,name):
node = element.getElementsByTagName(name)
if len(node)>0:
return element.getElementsByTagName(name)[0].firstChild.nodeValue
else:
return ''
'''
将${jdbc.driver.groupId}类型的引用,替换为实际值
'''
def prop(element,name):
if len(name)==0:
return ''
if name[0]=='$':
name = name[2:len(name)-1]
name = nodeVal(element,name)
return name
def cpjar():
dom = xml.parse(pom)
project = dom.documentElement
dependencies = project.getElementsByTagName('dependency')
i=0
for dependency in dependencies:
groupId = nodeVal(dependency,'groupId')
groupId = prop(project,groupId)
artifactId = nodeVal(dependency,'artifactId')
artifactId = prop(project,artifactId)
version = nodeVal(dependency,'version')
version = prop(project,version)
classifier = nodeVal(dependency,'classifier')
classifier = prop(project,classifier)
gp = groupPath(groupId,artifactId,version)
out('create directory:'+gp)
if len(classifier)>0:
jar = artifactId+'-'+version+'-'+classifier+'.jar'
else:
jar = artifactId+'-'+version+'.jar'
src = lib+'/'+jar
dst = gp+'/'+jar
out('copy from:'+src)
out('copy to:'+dst)
print('\n')
shutil.copy(src,dst)
i+=1
print('%d jar files copied!' %(i))
print('copy over!')