Topei com este post, no qual é mencionada uma novidade do Java 6 que não conhecia: você agora pode usar caracteres coringa para definir o classpath da sua aplicação pela linha de comando!
A situação é bem conhecida: você possui uma aplicação que utiliza 293847203497823489762348976 jars. Então, é necessário definir o classpath da mesma. Primeiro executaria um comando como
java -classpath lib/commons-logging-1.1.1.jar:lib/commons-jci-core-1.0.jar:commons-io-1.2.jar:lib/junit-3.8.2.jar:lib/maven-project-2.0.8.jar:lib/rhino-js-1.6.5.jar: ...
ARGH!
Agora, no Java 6, é possível fazer algo como
java -classpath classes:lib/'*' Main
Bem mais simples. Claro: há ferramentas que fazem isto para você (Netbeans por exemplo). Só que para aqueles que ainda gostam de fazer as coisas no braço, segue o post citado acima. :)
Ainda mais informações podem ser encontradas neste link.
Eu não sabia … Com certeza algo extremamente útil. Sempre me questionei do porque desta coisa tosca de escrever todos os jar.
Eu tb não conhecia essa novidade!! A partir de hoje vou usar menos shell script para executar meus programas java.
Eu também não sabia, ficava aquela tripa de arquivos. Excelente dica.
esse classe:lib/’*’ vai para o lib do projeto?
tenho uma classe email que necessita do jar para rodar pelo prompt, mas ainda n consegui colocar para rodar. Se colocar no comando classes:lib/’*’ antes da minha classe com metodo man irá funcionar?
No caso vai para o classpath da sua aplicação em execução.