Sempre trabalhei com WEB e colocava os arquivos .jar dentro de WEB-INF/lib e funciona OK.
Agora eu quero distribuir uma aplicação Desktop (rodando Swing) para outros computadores.
No meu eu setei o CLASSPATH para esses arquivos, mas nas outras máquinas eu não irei fazer isso (quero algo bem prático).
Eu estou fazendo um tutorial sobre Java Web Start para o GUJ, mas estou sem tempo para terminá-lo…
P
paulohbmetal
leonardom:
De uma olhada no Java Web Start também.
Eu estou fazendo um tutorial sobre Java Web Start para o GUJ, mas estou sem tempo para terminá-lo…
Ou termina aí cara… :lol:
A Paz!!
L
leonardom
Pode deixar vou dar um jeito de termina-lo esse semana…
R
Rubem_Azenha
se o seu programa usa mais de um jar, vc pode instruir o seu usuário a colocar os seus .jar não executaveis, que servem apenas de “bibliotecas” na pasta /jre/lib/ext
I
Ironlynx
Epa!Para isso o usuário deveria ter uma JDK instalada!Isso é quase impossível de um cliente possuir…acho q a melhor opção é montar um jarzinho mesmo ou partir para JWS.
K
keller
acho mais simples criar uma pastinha lib no mesmo nivel do seu jar
e passar um…
Sealed: true
Classpath: lib/seujarauxiliar.jar
no seu manifest… mais detalhes vide tutorial do GUJ
H
Hwoarang
Olá, aproveitando o tópico, estou com um problema parecido.
Minha aplicação usa alguns arquivos .jar (como, por exemplo, o jasperreports.jar).
Acontece que quando monto o meu aplicacao.jar e mando executar o relatório, ele não acha o as classes do pacote net.js.jasperreports…
Tive que incluir o pacote do jasper no meu .jar (incluir o jasperreportes.jar não funcionou). Daí ele pede outro, e mais outro…
Minha pergunta é: tenho que colocar todos os .jar que minha aplicação usa dentro do meu .jar principal? quando mando compilar e gerar o .jar ele já não deveria importar as classes citadas nas minhas cláusulas “import” ?
Agradeço qualquer dica ae.
Hwo
A
aborges
Vc nao precisa incluir os JARs dependentes dentro do seu principal!
Basta “referencia-los” no seu Manifest.mf
H
Hwoarang
Alexandre, desculpe, não fiz a pergunta claramente…
tudo bem ao referenciá-los no manifest… (penso que aqui vc esteja falando da tag “Class-Path”, certo?)
pergunta 1:
mas o que eu gostaria de saber se realmente preciso levá-los juntos com minha aplicação para o pc do cliente. pensei que as classes usadas fossem incorporadas automaticamente (como acontece com classes do pacote tools.jar, por exemplo).
pergunta 2:
eu criei mais uma pasta “\lib” na minha estrutura do diretórios e coloquei o jasperreports.jar lá…
coloquei “Class-Path: com/provenda/lib/jasper.jar”, então funcionou…
agora, como incluir outros arquivos .jar que estejam na pasta “\lib” nesse Class-Path? já tentei colocar “Class-Path: com/provenda/lib”, “Class-Path: com/provenda/lib/*.jar”, “Class-Path: com/provenda/lib/jasper.jar;com/provenda/lib/commons.jar” e nada…
obrigado mais uma vez.
Hwo
A
aborges1 like
Bom… C “com/provenda” for sua package, vc nao deve coloca-las na sua chamada… O manifest procura as libs a partir do diretorio onde esta o JAR. Como no seu caso seus JARs foram colocados dentro de uma basta lib, basta fazer:
Class-Path:lib/jasper.jar
Para colocar mais de um JAR, basta separa-los por espaco:
como a classe principal está em “com.provenda.aplicacao”, se eu colocar no manifest apenas “Class-Path: lib/jasper.jar” ele não acha. Tenho que colocar o caminho inteiro.
ok. Quando executo pelo NetBeans o relatório é gerado normalmente. Mas quando executo pelo arquivo .jar, aparecem esses erros quando da geração do relatório:
Bom… C “com/provenda” for sua package, vc nao deve coloca-las na sua chamada… O manifest procura as libs a partir do diretorio onde esta o JAR. Como no seu caso seus JARs foram colocados dentro de uma basta lib, basta fazer:
Class-Path:lib/jasper.jar
R
Rubem_Azenha
Epa!Para isso o usuário deveria ter uma JDK instalada!Isso é quase impossível de um cliente possuir…acho q a melhor opção é montar um jarzinho mesmo ou partir para JWS.
negativo
o JRE tem a pasta /lib/ext
I
iSoron
O melhor a fazer é copiar a maquina virtual com tudo e colocar os JARs no mesmo diretorio do Javaw.exe. Assim, sempre funciona, com ou sem JRE instalado.
Com isso, você pode usar um instalador qualquer, como o Wise, que ganha de 10 a 0 em qualquer um específico pra Java. No fim das contas, fica do mesmo tamanho que ficaria se o usuario precisase baixar cada um, só que muito mais prático.
I
Ironlynx
negativo
o JRE tem a pasta /lib/ext
Uia!Como fui esquecer… :shock:
Eh o q dar lidar com VM do Windows… huahauhauh… :oops:
R
Rubem_Azenha
iSoron:
O melhor a fazer é copiar a maquina virtual com tudo e colocar os JARs no mesmo diretorio do Javaw.exe. Assim, sempre funciona, com ou sem JRE instalado.
humn… isso é totalmente inviavel!
sabe o tamanho de uma VM???
H
Hwoarang
aborges:
Repetindo o q eu lhe disse:
aborges:
Bom… C “com/provenda” for sua package, vc nao deve coloca-las na sua chamada… O manifest procura as libs a partir do diretorio onde esta o JAR. Como no seu caso seus JARs foram colocados dentro de uma basta lib, basta fazer:
Class-Path:lib/jasper.jar
Alexandre, obrigado…
a questão do class-path eu consegui resolver… vlw…
estou parado no último erro que te relatei… vc viu?
não consigo executar o relatório pelo .jar só pelo NetBeans…
alguma idéia?
Hwo
1
1112
Pessoal, estou com um problema similar ao do Hwoarang, com a diferença que eu não coloquei os jars do Jasper em uma estrutura diferente de pacotes. Alguém tem alguma idéia?