segunda-feira, 6 de julho de 2020

Criando arquivo .bat para executar aplicação Java com passagem de parâmetros

Nesse artigo, vamos mostrar como fazer a criação do arquivo .bat para ser executado no sistema operacional Windows, chamando uma aplicação Java e podendo passar parâmetros.

Para isso, vejam esse exemplo:


set PARAMETROS=%*
java -Dfile.encoding=UTF-8 -cp .;libs/* pacote.minha.classe.Main %PARAMETROS%



Aonde a variável "PARAMETROS" define a maneira de passar o parâmetro na execução do arquivo.bat.

Para executar esse bat, salve como "arquivo.bat" e depois execute em linha de comando digitando da seguinte maneira:

arquivo.bat a b c

Aonde os parâmetros "a", "b" e "c" serão passados para a classe Main declarada em "pacote.minha.classe.Main" aonde informa a classe com o método estático "void main(String args[])" aonde que em Java é o método que é chamado na execução de um programa.

Portanto, esses parâmetros passados estarão contidos na variável "args"do programa Java. Logicamente, nesse exemplo, estou usando o parâmetro com o nome "args", mas se o nome for diferente, a passagem dos parâmetros ocorrerá normalmente e sua aplicação poderá passar!

Para o parâmetro ".;libs/*" indica uma pasta chamada "libs" e todos os jars que estiverem contidas dentro dessa pasta serão carregados no classpath da aplicação, se caso for necessário. E o "." indica o diretório atual, para procurar jars no mesmo diretório do arquivo.bat. E por último, o ";" apenas separa os diretórios listados, podendo carregar vários diretórios de jars para a aplicação rodar.

Temos abaixo um exemplo de classe Main:

public class Main {

    public static void main(String args[]) {
        for(int i=0; i < args.length; i++) {
             System.out.println("Parametro passado: " + args[i]);
        }
   }
}

Também é possível chamar diretamente o jar no arquivo.bat:

set PARAMETROS=%*
java -jar A.jar %PARAMETROS%

Aonde temos todas as dependências do jar embutidas num único jar.