maven 使用shell命令 批量上傳jar包到遠程maven庫 python 代碼


背景:

需要批量導入jar包到遠程庫,有遠程庫的網頁登陸名和密碼(admin權限),准備寫程序批量導入。

 

1、前提條件

1、本地安裝好了maven

2、有程序的運行環境(我用的python編寫的)

 

2、核心代碼:

 

核心代碼:

#獲取根路徑的所有jar包
def getAllJar(rootpath):
   lists=[]
for root ,dir,files in os.walk(rootpath):
for each in files:
if each.endswith('jar'):
          lists.append(each)
  return lists

#傳入一個根路徑以及一個目標jar包路徑,可以返回一個jar上傳的shell語句
#rootpath='D:\jarpathdir'
#filepath='D:\jarpathdir\org\apache\logging\..\*.jar'
def getShell(rootpath,filepath):
delRootFilePath=filepath.repace(rootpath,'')[1:]

repoId='myrepo'
repoUrl='http://.../repository/myrepo'

templist=delRootFilePath.split('\\')
jarVersion=templist[-2]
jarArtifactid=templist[-3]
jarGroupid='.'.join(templist[:-3])

jarShell='mvn deploy:deploy-file'\
+'-DrepositoryId='+repoId\
+'-Durl='+repoUrl\
+'-Dfile='+filepath\
+'-Dgroupid='+jarGroupid\
+'-DartifactId='+jarArtifactid\
+'-Dversion'+jarVersion\
+'-Dpackgaing=jar'
return jarShell


#執行shell的方法:
os.system(jarshell)

  執行此語句就可以上傳一個jar包到遠程庫,多個語句依次執行,就可以批量上傳了。


 

流程:

1) 設置maven的conf文件夾中的setting文件,把用戶名密碼寫進去,並注釋掉所有遠程鏡像庫

2)把responsary庫拷貝到其他位置(否則上傳不成功),並以此作為代碼中的rootpath

3)結合以上代碼原理,構建每一個jar的shell語句依次執行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM