04-17.eri-test mvnx-JVM世界的npx。

从一次性执行命令到日常使用,命令行工具是软件工程师工具带中必不可少的部分。 每种流行的编程语言都有一个至少用于参数解析的框架,但是大多数语言还提供满足更复杂要求(例如提示或彩色输出)的组件。 但是,CLI的部署是语言生态系统不同的地方。

The Problem with JVM CLIs

是否想用JavaScript编写CLI? 简单! 只需选择一些库,将您的想法转换为代码,上载到npm(或任何其他程序包注册表),就一切就绪。 现在,任何人都可以在npx的帮助下部署和使用CLI。

现在,JVM呢? 您选择一些库,编写代码,然后将工件上传到Maven注册表。 如果您正在编写JavaScript库,那么您会不计其数在npmjs.com上的下载。 但是,对于JVM CLI则不是。 没有用于下载和执行maven存储库中的可运行JAR的标准工具。 因此,尽管您的工件普遍可用,但是要获得并执行CLI仍需要花费大量精力。

Enter mvnx

在过去的几个月里编写了一些Kotlin CLI,我决定接受这种情况。 我创建了mvnx,它大胆地宣称要解决maven存储库中可用的JAR的执行:

https://github.com/mvnx/mvnx

受npx启发,mvnx获取工件的maven坐标并处理其余部分。 看:

Cowsay on the JVM

如果您不想强制使用特定版本,则可以完全省略版本坐标! 在这种情况下,mvnx将获取最新版本。

$ mvnx -q com.github.ricksbrown:cowsay“ Hello,World”

默认情况下,mvnx将查询中央存储库。 您可以通过指定支持HTTP Basic身份验证凭据和别名的自定义存储库URL来更改此行为。

专业提示:mvnx喜欢GitHub软件包!

Wrapping Up

JVM生态系统提供了大量优秀的库,以及稳定的依赖项管理解决方案。 在这些基础之上,CLI易于编写和分发,但难以获取和执行。 mvnx的目标是成为CLI创建者和使用者之间缺少的链接。

from: https://dev.to//battila7/mvnx-the-npx-of-the-jvm-world-2n59

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值