Utilitários CLI em Java: transformando código chato em uma ferramenta real
\n\nLembra daquela sensação quando você escreveu um algoritmo útil em Java, mas para usá-lo, precisa abrir a IDE toda vez, alterar o hardcode e executar novamente? Familiar? Está na hora de mudar isso. Hoje vamos falar sobre como criar utilitários CLI em Java que funcionam como verdadeiras ferramentas profissionais.
\n\nCLI (Command Line Interface) não é apenas uma "janela preta com texto". É uma interface poderosa que administradores de sistemas, engenheiros DevOps e desenvolvedores experientes adoram. E o Java não fica atrás: com ele, é possível criar aplicações de console que não perdem em conveniência para as GUI, e em velocidade e flexibilidade, as superam.
\n\nNeste artigo, vamos abordar a criação de utilitários CLI em Java do início ao fim. Você aprenderá como processar argumentos de linha de comando, como analisar parâmetros complexos e como gerar um arquivo JAR pronto para ser executado com um único comando. Vamos nessa!
\n\nPor que Java para CLI é incrível?
\n\nMuitos pensam que CLI é coisa de Python ou Bash. Mas as aplicações console Java têm vantagens inegáveis:
\n\n- \n
- Multiplataforma: seu utilitário funcionará em Windows, Linux e macOS sem qualquer alteração no código. \n
- Desempenho: a compilação JIT torna os programas Java muito rápidos. \n
- Ecossistema rico: bibliotecas para análise de argumentos, trabalho com rede, bancos de dados — tudo à mão. \n
- Segurança de tipos: o compilador detecta erros antes que eles cheguem à produção. \n
Vamos para a prática e criar nosso primeiro utilitário CLI em Java.
\n\nConfiguração do projeto e estrutura básica
\n\nPara começar, vamos criar uma estrutura simples. Precisaremos de Maven ou Gradle (usarei Maven, pois é mais fácil de entender).
\n\nPasso 1: Criando um projeto Maven
\n\nCrie o arquivo pom.xml com a configuração mínima:
<project xmlns="http://maven.apache.org/POM/4.0.0"\n xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n xsi:schemaLocation="http://maven.apache.org/POM/4.0.0\n http://maven.apache.org/xsd/maven-4.0.0.xsd">\n <modelVersion>4.0.0</modelVersion>\n <groupId>com.pythonlib</groupId>\n <artifactId>file-utils</artifactId>\n <version>1.0-SNAPSHOT</version>\n <packaging>jar</packaging>\n\n <properties>\n <maven.compiler.source>17</maven.compiler.source>\n <maven.compiler.target>17</maven.compiler.target>\n </properties>\n\n <build>\n <plugins>\n <plugin>\n <groupId>org.apache.maven.plugins</groupId>\n <artifactId>maven-jar-plugin</artifactId>\n <configuration>\n <archive>\n <manifest>\n <mainClass>com.pythonlib.Main</mainClass>\n </manifest>\n </archive>\n </configuration>\n </plugin>\n </plugins>\n </build>\n</project>\n\nPasso 2: Escrevendo uma classe Main simples
\n\nCrie o arquivo src/main/java/com/pythonlib/Main.java:
package com.pythonlib;\n\npublic class Main {\n public static void main(String[] args) {\n System.out.println("Olá, este é um utilitário CLI em Java!");\n System.out.println("Argumentos recebidos: " + args.length);\n for (int i = 0; i < args.length; i++) {\n System.out.println("args[" + i + "] = " + args[i]);\n }\n }\n}\n\nCompile o projeto: m