Рубрики
Без рубрики

mvnx – npx в мире JVM.

Инструменты командной строки – от одноразового выполнения команд до ежедневного использования – являются незаменимыми частями программного обеспечения… С тегом показать разработчика, java, kotlin.

Инструменты командной строки – от одноразового выполнения команд до ежедневного использования – являются незаменимыми частями набора инструментов инженера-программиста. Каждый популярный язык программирования имеет структуру, по крайней мере, для анализа аргументов, но большинство из них также предлагают компоненты для более сложных требований, таких как подсказка или цветной вывод. Однако развертывание CLI – это то, где языковые экосистемы различаются.

Проблема с клипами JVM

Хотите написать интерфейс командной строки на JavaScript? Легко! Просто выберите несколько библиотек, переведите свою идею в код, загрузите в npm (или любой другой реестр пакетов), и все готово. Теперь любой желающий может развернуть и использовать ваш интерфейс командной строки с помощью npx.

Итак, как насчет JVM? Вы выбираете несколько библиотек, пишете код и загружаете артефакт в реестр maven. Если бы вы писали библиотеку JavaScript, вы бы подсчитывали количество загрузок на npmjs.com . Однако не в случае командной строки JVM. Не существует стандартного инструмента для загрузки и выполнения работающих JAR-файлов, находящихся в репозиториях maven. Таким образом, несмотря на общую доступность вашего артефакта, для получения и выполнения вашего интерфейса командной строки требуется немало усилий.

Введите mvn

Написав несколько уроков по Котлину за последние месяцы, я решил разобраться в этой ситуации. Я создал mvnx, который смело претендует на решение проблемы выполнения JAR, доступных в репозиториях maven:

Я создал mvnx, который смело претендует на решение проблемы выполнения JAR, доступных в репозиториях maven:

Вдохновленный npx, mvnx берет координаты артефакта maven и обрабатывает все остальное. Часы:

Если вы не хотите применять определенную версию, вы можете вообще опустить координату версии! В этом случае mvn x получит последнюю версию.

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

По умолчанию mvn будет запрашивать Центральное хранилище. Вы можете изменить это поведение, указав пользовательский URL-адрес хранилища с поддержкой учетных данных и псевдонимов базовой аутентификации HTTP.

Совет профессионала: mvnx любит пакеты GitHub!

Подведение Итогов

Экосистема JVM предлагает множество превосходных библиотек, а также стабильные решения для управления зависимостями. Опираясь на эти основы, CLI было легко писать и распространять, но трудно получить и выполнить. mvnx стремится стать недостающим звеном между авторами CLI и потребителями.

Оригинал: “https://dev.to/battila7/mvnx-the-npx-of-the-jvm-world-2n59”