從命令列使用 Maven 中央儲存庫搜尋!
使用mcs
在 Maven Central 中快速尋找依賴項座標,而無需切換到瀏覽器。
該工具支援以下搜尋模式:
通配符搜尋
mcs search plexus-utils
這將為您提供 Maven Central 中名稱中包含“plexus-utils”的所有工件。輸出採用表格形式,顯示每個工件的確切座標以及部署其最新版本的時刻。
座標搜尋
mcs search org.codehaus.plexus:plexus-utils
mcs search org.codehaus.plexus:plexus-utils:3.4.1
如果有多個命中,您將得到與上面相同的表輸出。但如果只有一次命中,預設將為您提供您搜尋的工件的 pom.xml 片段。準備好複製並貼上到您最喜歡的 IDE 中!
如果您需要不同格式的片段,請使用-f <type>
或--format=<type>
。支援的類型有: maven
、 gradle
、 gradle-short
、 gradle-kotlin
、 sbt
、 ivy
、 grape
、 leiningen
、 buildr
、 jbang
、 gav
。
類名搜尋
mcs class-search CommandLine
mcs class-search -f picocli.CommandLine
這將為您提供 Maven Central 中包含特定類別的所有工件。如果設定-f
標誌,搜尋項目將被視為「完全分類」的類別名,因此包括套件名稱。
-l <number>
開關,該開關可讓您指定最多希望查看多少個結果。-s
(或--show-vulnerabilities
)標誌。它將導致 MCS 針對每個結果顯示報告的安全漏洞的摘要。如果只有一個搜尋結果,它將顯示針對該結果報告的 CVE 編號。請注意,此功能可能很快就會達到 Sonatype OSS Index 的 API 限制。請參閱他們的文檔,以了解有關這可能如何影響您的使用的詳細資訊。您可以使用系統屬性ossindex.username
和ossindex.password
指定您的憑證。請參閱“配置 MCS”,以了解如何以最方便的方式執行此操作。 您可以使用您選擇的套件管理器安裝 mcs:
套件管理器 | 平台 | 安裝 | 評論 |
---|---|---|---|
自製 | ? ? | brew install mthmulders/tap/mcs | |
折斷 | ? | snap install maven-central-search | |
SDKMAN! | ? ? | sdk install mcs | |
巧克力口味 | ? | choco install mcs | |
舀 | ? | scoop install mthmulders/mcs |
在某些情況下,例如當您在 TLS 攔截(公司)防火牆後面工作時,MCS 可能會失敗並顯示
PKIX 路徑建置失敗:sun.security.provider.certpath.SunCertPathBuilderException:無法找到要求目標的有效憑證路徑
通俗地說:預設的內建信任儲存(受信任的 X.509 憑證集)不包含任何允許信任伺服器提供的憑證的內容。 Maven Central 使用受信任的證書,但罪魁禍首是提供內部證書的 TLS 攔截(公司)防火牆。
解決方案是建立一個具有憑證鏈中「最高」憑證的信任存儲,例如(內部)憑證授權單位的憑證。您可以使用 Portecle 等工具來建立這樣的信任儲存。接下來,將 MCS 指向該信任存儲,如下所示
mcs -Djavax.net.ssl.trustStore=/path/to/keystore search something
如果您在代理程式後面運行,MCS 將遵循HTTP_PROXY
和HTTPS_PROXY
環境變數。
MCS 的某些配置是透過系統屬性傳遞的。您可以在每次呼叫 MCS 時新增-Dxxx=yyy
來執行此操作。為了更方便,您可以建立一個設定文件,MCS 將自動讀取該文件並將其解釋為配置設定。
為此,請在使用者目錄中建立目錄.mcs (通常為C:Users<your-user-name> on ?、 /home/ on ? 或/Users/ on ?)。在該資料夾中,建立一個檔案mcs.config並在其中寫入以下行:
javax.net.ssl.trustStore=/path/to/keystore
ossindex.username=xxx
ossindex.password=yyy
這樣,您就不必記住傳遞-D
。
獲得工作開發環境最簡單的方法可能是使用 Gitpod:
它將在您的瀏覽器中配置一個工作區,並透過執行mvn verify
顯示一切都按預期工作。此設定不會影響您的電腦 - 一旦您關閉瀏覽器選項卡,它就會消失。
如果您正在尋找解決方案,請查看這些問題。如果您有新想法,請隨時透過討論提出。
如果沒有全球優秀人士的貢獻,MCS 就不可能實現。完整清單位於 CONTRIBUTORS.md 中。