从命令行使用 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 中。