2017-06-21 58 views
1

我想通過HTTP端點公開Maven依賴項構件(帶有版本)的列表。這blogpost解決了我的問題,但不幸的是它在bash而不是Java/Scala。列出Java/Scala中的Maven依賴關係

mvn -o dependency:list \ 
| grep ":.*:.*:.*" \ 
| cut -d] -f2- \ 
| sed 's/:[a-z]*$//g' \ 
| sort -u 

輸出

com.amazonaws:amazon-sqs-java-extended-client-lib:jar:1.0.0 
com.amazonaws:aws-java-sdk-acm:jar:1.10.64 
com.amazonaws:aws-java-sdk-api-gateway:jar:1.10.64 
com.amazonaws:aws-java-sdk-autoscaling:jar:1.10.64 
com.amazonaws:aws-java-sdk-cloudformation:jar:1.10.64 
com.amazonaws:aws-java-sdk-cloudfront:jar:1.10.64 
com.amazonaws:aws-java-sdk-cloudhsm:jar:1.10.64 
com.amazonaws:aws-java-sdk-cloudsearch:jar:1.10.64 

有人能分享如何在代碼中實現這一目標的一些指點?

+1

最簡單的可能是運行該命令來創建一個文件,然後將該文件作爲靜態資源提供。 – puhlen

回答

1

最簡單的方法是創建一個maven任務,以便在編譯時將依賴項打印到資源目錄。

另一種方法是,您可以檢查ClassLoaderclasspath,獲取罐子並使用工件製作出來,但這非常脆弱得多。