Alguem aê sabe se dá e como pra atualizar o classpath durante a execução de uma aplicação?
Pesquisei na web a respeito e o melhor q achei foi: http://forum.java.sun.com/thread.jspa?threadID=608200&tstart=0
ou seja: imagino q terei q usar um custom class loader, correto??
Mas num ajuda muito, pq num faço idéia de como fazer isso…
Só pra tornar mais claro meu objetivo:
Tenho uma aplicação SWING, empacotada em um jar. só q essa aplicação depende de vários outros jar’s. Eu poderia sim criar um arquivo batch pra setar o classpath ou setar ele no ambiente msm… Mas ambas as alternativas tem seus inconvenientes para mim.
Exemplo: se algum dia mais tarde eu precisar adicionar mais arquivos ao classpath, precisarei modificar o ambiente ou o arquivo batch… Por amis estranho q pareça, pra mim seria mais fácil alterar o meu jar, de modo a encontrar os novos arquivos.
Isso se dá pq tenho meu jar em um servidor, no qual vários usuários acessam ele… se eu mudar o jar, todos os usuários serão atualizados automaticamente… se eu usasse arquivo batch, teria q atualizar um por um.
Xi, acho que não é fácil (obviamente eu não tentei isso; no máximo tentei usar um custom class loader só para ver se eu conseguia carregar e descarregar uma biblioteca JNI dentro de um applet assinado, e não fui lá muito bem sucedido…)
É que o Tomcat e outros web ou EJB containers fazem algumas mágicas com class loaders, para poder atualizar as classes (carregar novas versões das aplicações) em tempo de execução.
galera: tentei de todo jeito, mas num consegui MSM… num sei o q tô fazendo de errado…
só pra esclarecer: a princípio, meu objetivo pra fazer isso é pra usar o jasper, em uma aplicação q tô desenvolvendo.
minha aplicação tá em um jar.
o que kero: colocar todos os jar’s utilizados pelo jasper na msm pasta q meu jar…
mas kero executar minha aplicação sem usar os famosos .bat… acho isso tão ruim… deixa o projeto com uma cara tão anti-profissional…
tentei as soluções enviadas aki e num deu certo… até q resolvi usar msm os .bat, msm q temporariamente até achar outra solução… o problema é q nem com .bat consegui ! ! ! ! !
num sei onde estou errando. Qdo testo minha aplicação no netbeans, com os jar’s do jasper e as dependências adicionadas ao classpath do projeto, funciona blz… qdo crio meu jar, num funciona mais…
Por favor, alguém pode me dar alguma solução, exemplo, ou luz???
Num sei mais o q tentar…
tá… só q como nunca fiz isso, preciso de mais uma ajudinha:
1 - onde configuro isso usando o netbeans?
2 - posso colocar path’s relativos? ou tem q ser absolutos? pra mim, sem dúvida, seria ideal q fossem relativos (tipo: .\blablabla1.jar;.\blablabla2.jar;etc)
E como dica, seria interessante que você tentasse desenvolver alguma coisa SEM usar o Netbeans!
Usar uma IDE para facilitar o trabalho é legal…mas sem saber trabalhar sem ela, acabam acontecendo coisas como essas!! Quanto tempo você perdeu nesse problema??? E quanto já não teria aprendido se usasse um editor de textos e o javac pela linha de comando?
…é que está tentando montar o JAR de dentro do Netbeans!
Por isso que comentei que é melhor primeiro aprender do jeito “difícil”, ou seja, linha de comando, para depois partir para alguma IDE.
Se eu entendi errado, sorry…20 chibatadas pra mim!! :oops:
ah, sim… só pra ajudar kem tiver o msm problema:
Pra fazer isso no netbeans, basta abrir a pasta do projeto e lá já existe um arquivo manifest. Basta editá-lo