Fiz uma aplicação web e preciso também que essa aplicação seja iniciada por algum arquivo (como um arquivo .BAT que chama minha classe de entrada MAIN).
1ª dúvida: Como eu incluo libraries no comando Java quando chamo minha aplicação a partir do DOS? Pois preciso adicionar as libraries do projeto nessa linha de comando…
2ª dúvida: Tem uma maneira melhor de fazer isso sem gerar um arquivo .BAT que executa a partir do DOS?
Você pode especificar os tais jars no MANIFEST.MF, mas eu em minha humilde opinião prefiro o BAT mesmo, porque posso passar outros parâmetros (como -Xmx, que indica a quantidade máxima de memória a ser usada) que não posso passar no MANIFEST.MF.
zap
Se isso funcionar por favor avise aqui … estou com um problema parecido, e nao consegui fazer funcionar ainda.
J
javones
Funcionou, mas eu fiz de outra forma.
Como o arquivo que quero executar é um arquivo .BAT, dentro dele eu setei todas as libraries que eu to usando no meu projeto para o CLASSPATH, assim eu pude executar minha classe:
Acredito que usar um arquivo .BAT não é o melhor approach, mas pra mim soluciona por enquanto.
Valew!!!
T
thingol
Vou dar uma dica - como você deve saber, batchs alteram o ambiente em que rodam, a menos que você a inicie com “SETLOCAL” e a encerre com “ENDLOCAL”. É que se você rodar repetidas vezes essa sua batch, o valor da variável CLASSPATH vai cada vez ficar mais comprido, até que alguma coisa estoure. Usando SETLOCAL e ENDLOCAL as modificações nas variáveis de ambiente são desprezadas depois da execução da batch.
zap
Legal que funcionou com o .bat
Ja estou comecando a achar que o java -classpath nao funciona …
J
javones
Ahh legal Thingol… boa dica a sua não tinha pensado nisso… eu reparei que a variável de ambiente suporta no máximo 1024 caracteres, ou seja, a pasta onde as libs ficam não pode ter um caminho extenso senão você não consegue adicionar todas as libs no classpath.
Valew a todos!
zwingli
Não rola colocar a aplicação em um JAR e tornar ele auto-executável pelo seu manifest ?
Então… acho que não rola hein… pq ele tem q ser uma aplicação WEB e também precisa ter um acesso via arquivo porque será chamado a partir de uma aplicação de EDI, que quando terminar a cópia de um arquivo chamará minha aplicação para iniciar alguns processos…