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.