| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/07/2005 11:56:26
|
renatosilva
GUJ Master
Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline
|
Pessoal alguém conhece alguma ferramenta que pege todos os jars de uma pasta e os adicione ao CLASSPATH ? Por que será que ainda tem que adicionar os arquivos, por que num pode indicar a pasta?
É que estou instalando o JDOM e pô, tem um monte de jars pra colocar (sim, quero colocar todos, sei que tem alguns que não precisa a partir do Java 1.4)... Tem alguma ferramenta? Num procurei no google ainda, será que o que estou querendo é absurdo? sei lá... Vou ter que fazer uma?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/07/2005 14:02:17
|
ramos
Debugger
![[Avatar]](/images/avatar/db85e2590b6109813dafa101ceb2faeb.jpg)
Membro desde: 29/01/2003 07:27:30
Mensagens: 54
Localização: Barra Bonita - SP
Offline
|
Não sei se existe ferramenta, mas acabei de escrever esse comando e talvez te ajude.
É só abrir um prompt de comando na pasta dos seus arquivos jar e digitar este for, no exemplo abaixo, a pasta seria C:\Projeto
O comando vai gerar um jars.bat que ao ser executado adicionará todos os jars do diretório no classpath.
for %x in (*.jar) do echo set classpath=%classpath%;%cd%\%x >> jars.bat
Exemplo:
C:\Projeto\>for %x in (*.jar) do echo set classpath=%classpath%;%cd%\%x >> jars.bat
|
Alessandro Ramos da Silva
Sun Certified Java Programmer
Mas o nobre projeta coisas nobres; e nas coisas nobres persistirá. [Isaías 32:8]
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/07/2005 14:41:46
|
renatosilva
GUJ Master
Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline
|
Interessante Ramos. Mas é melhor a variável ser alterada definitivamente, no registro do windows e não apenas no shell atual. Mas mesmo assim é muito legal tua idéia. Tava pensando em adaptá-la assim:
Criar um script que adiciona à CLASSPATH todos os jars de de uma pasta (ex: a minha pasta "lib" onde pretendo colocar a maioria dos jars que eu precisar no classpath). Assim toda vez que eu rodar uma aplicação que precise dos jars, é só eu chamar antes esse script.
Só que era melhor alterar no registro do Windows mesmo e recarregar a CLASSPATH (essa segunda parte é mais difícil). Bom na verdade o melhor é que os jars de uma pasta fossem automaticamente incluídos, mas...
Acho que vou criar um gerenciadorzinho de variáveis de ambiente, que as exibe numa lista (o Windows não faz isso) que permite uma melhor visualização, e também, a adição dos jars na classpath desse modo prático que estamos falando.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/07/2005 15:03:37
|
ramos
Debugger
![[Avatar]](/images/avatar/db85e2590b6109813dafa101ceb2faeb.jpg)
Membro desde: 29/01/2003 07:27:30
Mensagens: 54
Localização: Barra Bonita - SP
Offline
|
Realmente, se a aplicação gravasse definitivamente na variável do Windows seria muito bom.
Eu acho que não temos uma ferramenta desse tipo famosa porque a maioria das pessoas usa alguma IDE pra fazer aplicações mais complexas e nas IDES você geralmente tem esse conceito de "grupos de jars".
Mas se você desenvolver o programa mesmo, compartilhe porque deve ser útil pra mais gente.
|
Alessandro Ramos da Silva
Sun Certified Java Programmer
Mas o nobre projeta coisas nobres; e nas coisas nobres persistirá. [Isaías 32:8]
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/07/2005 15:45:06
|
smota
Moderador
![[Avatar]](/images/avatar/ca9c267dad0305d1a6308d2a0cf1c39c.jpg)
Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline
|
ramos wrote:Mas se você desenvolver o programa mesmo, compartilhe porque deve ser útil pra mais gente.
Nao compartilhe não .... com isso o GUJ vai ter muito mais gente perguntando porque dos erros bizarros que acontecem quando vc não controla adequadamente o classpath, situação conhecida como Jar Hell (sim, acontece igual ao DLL Hell).
Sério, isso parece interessante mas não é porque confunde demais e dificulta o controle sobre versões e tudo mais .... claro, se vc só usar uma aplicação nao tera esse problema, mas tb nao tera porque se preocupar tanto com o classpath
|
"Perfection is reached not when there's nothing more to add but when there's no more to take out" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/07/2005 16:37:23
|
renatosilva
GUJ Master
Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline
|
Aliás isso que tava pensando: Se eu tenho duas versões do JDOM, 1.0 e 30.0, e tenho aplicações que usam umas a primeira e outras a segunda versão, mas as classes são as mesmas. Isso seria um conflito né? A solução seria mesmo ao rodar a aplicação, configurar um CLASSPATH pessoal né? Não sei não, mas acho que resolveram esse dll hell no .NET, o Java podia ter algum tipo de controle de versão de JARs também...
Sobre o programa, aí cabe a cada um decidir quando deve colocar ou quando não os jars no CLASSPATH, considerando o conflito de versões que o smota citou. Puxa mas eu tenho quatrocentos JARs para colocar no CLASSPATH só pra fazer o JDOM funcionar... uma aplicação ou bat que usasse pastas para incluir os jars ia me ajudar. E um programa que exibe coisas como PATH e CLASSPATH em forma de lista num é melhor do que você ver tudo sequencial separado por ";"? Bom acho que o Windows já era pra ter algo assim, mas como não tem...
Por enquanto vou fazer um script mesmo... tava pensando aqui Ramos e acho que até dá pra alterar o registro via script! Agora o grande problema é restartar <?>alguma coisa</?> que recarregue as variáveis do registro...
Enfim, o script vai me ajudar legal por enquanto, e uma aplicação que exibe o PATH e CLASSPATH em forma de lista e adiciona conjuntos de JARs (bom uso dessa segunda opção é outra história) ia ou vai ser legal, pelo menos for me.
This message was edited 2 times. Last update was at 17/02/2012 16:36:33
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/07/2005 17:52:15
|
renatosilva
GUJ Master
Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline
|
Ahhh que porcaria de BAT irritante num to consegundo fazer. Ramos!!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2005 09:22:03
|
ramos
Debugger
![[Avatar]](/images/avatar/db85e2590b6109813dafa101ceb2faeb.jpg)
Membro desde: 29/01/2003 07:27:30
Mensagens: 54
Localização: Barra Bonita - SP
Offline
|
Realmente, o problema do jar hell pode atrapalhar bastante.
Sobre o script, qual está sendo o problema no bat, Renato?
|
Alessandro Ramos da Silva
Sun Certified Java Programmer
Mas o nobre projeta coisas nobres; e nas coisas nobres persistirá. [Isaías 32:8]
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2005 12:00:58
|
renatosilva
GUJ Master
Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline
|
Putz cara, um monte de problemas. Sabe o que é pior? Depois de ter conseguido terminar o troço, que gera um .reg com os jars pra colocar no CLASSPATH, o reg simplesmente não funciona! Tentei várias coisas mas não descobri porque não funciona! Pelo menos uma lista de jars é gerada, daí já ajuda... ou pelo menos dá pra adicionar uma lista de jars no CLASSPATH do shell atual...
Taí os scripts... talvez seja necessária alguma adaptação...
#cpjar.bat - coloca os jars de uma pasta especificada no CLASSPATH do shell atual
#cp2reg.bat - gera o reg com o CLASSPATH do shell atual
This message was edited 1 time. Last update was at 23/02/2009 10:52:02
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/07/2005 11:48:22
|
renatosilva
GUJ Master
Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline
|
Curiosidade: quando vocês precisam instalar o JDOM, por exemplo, que tem 4kg de jars pra colocar no CLASSPATH, como vocês fazem?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/10/2011 08:39:14
|
marcelowender
Smalltalk
Membro desde: 19/10/2011 08:32:14
Mensagens: 1
Offline
|
Teste msg!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/10/2011 12:38:18
|
Javax2011
JavaChild
Membro desde: 31/08/2011 06:52:53
Mensagens: 105
Offline
|
marcelowender wrote:Teste msg!
Hein? kkk...
|
"The Art of making Art." |
|
|
 |
|
|