Api jdic - problema com jar gerado pelo NETBEANS

5 respostas
P

Amigos.

Poderiam me dar uma dica?
Olha só, estou estudando Java em casa por conta propria com o JSDK 6.0 e o netbeans 5.5. Ja fiz alguns programinhas e gerei o jar pelo netbeans que funciona perfeitamente.
Porem estou fazendos uns testes com o Jdic e estou fazendo uma aplicacao com Tray, fica minimizada na barra de tarefas ao lado. Dentro do netbeans ela funciona perfeitamente, porem quando gero o jar, ele sempre da erro.
As bibliotecas externas que uso jdic.tar estao declaradas corretamente no arquivo de manifest, tem alguma ideia?
Já pesquisei bastante nem o google me aguenta mais.
Desde ja agradeço a todos.

D:projetos-javaIconeTraydist>java -jar IconeTray.jar

Exception in thread main java.lang.NoClassDefFoundError: org/jdesktop/jdic/tray/internal/impl/ServiceManagerStub

at org.jdesktop.jdic.tray.internal.ServiceManager.getService(Unknown Source)

at org.jdesktop.jdic.tray.TrayIcon.(Unknown Source)

at iconetray.TestTray.(TestTray.java:60)

at iconetray.TestTray.main(TestTray.java:77)

Esta é a mensagem de erro. Dentro do netbeans funciona normal.

Pierre

5 Respostas

emmanuel.silva

E ai cara, se você está usando o JDK 6.0, você não precisa usar o Jdic para fazer o tray Icon, essa biblioteca foi incorporada dentro do java 6, um exemplo de como usar tray icon nativo no java 6: http://java.sun.com/developer/technicalArticles/javase/6_desktop_features/#SystemTray

Espero que ajude…

C

pierrefreire:
Amigos.

Poderiam me dar uma dica?
Olha só, estou estudando Java em casa por conta propria com o JSDK 6.0 e o netbeans 5.5. Ja fiz alguns programinhas e gerei o jar pelo netbeans que funciona perfeitamente.
Porem estou fazendos uns testes com o Jdic e estou fazendo uma aplicacao com Tray, fica minimizada na barra de tarefas ao lado. Dentro do netbeans ela funciona perfeitamente, porem quando gero o jar, ele sempre da erro.
As bibliotecas externas que uso jdic.tar estao declaradas corretamente no arquivo de manifest, tem alguma ideia?
Já pesquisei bastante nem o google me aguenta mais.
Desde ja agradeço a todos.

D:projetos-javaIconeTraydist>java -jar IconeTray.jar

Exception in thread main java.lang.NoClassDefFoundError: org/jdesktop/jdic/tray/internal/impl/ServiceManagerStub

at org.jdesktop.jdic.tray.internal.ServiceManager.getService(Unknown Source)

at org.jdesktop.jdic.tray.TrayIcon.(Unknown Source)

at iconetray.TestTray.(TestTray.java:60)

at iconetray.TestTray.main(TestTray.java:77)

Esta é a mensagem de erro. Dentro do netbeans funciona normal.

Pierre

Você está colocando o jar do jdic dentro do IconeTray.jar ?
Se eu não me engano, não tem como colocar um jar dentro do outro e referenciá-lo atráves do manifest dessa forma - igual como fazemos com os arquivos war. Você tem que deixar ele de fora do jar, e referenciá-lo com o -classpath ou -cp.
Algo como:

P

Obrigado amigos pelas respostas.

Chico Bento,

Eu fiz o projeto no NETBEANS, e gero o jar por ele tambem. Ele me coloca a seguinte estrutura

dist: Com o IconeTray.jar
dentro da dist tem a pasta lib com os arquivos externos que usei: jdic.jar

porem quando executo java -jar IconeTray.jar ocorre o erro.
Dentro do netbeans funciona.

É isto ai.

P

Eu descompactei o jar e olha o MANIFEST.MT dele.

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.6.0-b105 (Sun Microsystems Inc.)
Main-Class: iconetray.TestTray
Class-Path: lib/jfreechart-1.0.4.jar lib/jcommon-1.0.8.jar lib/jdic.jar
X-COMMENT: Main-Class will be added automatically by build

P

Emmanuel,

Muito obrigado pela dica, como estou começando em JAva nao conhecia este recurso do JAva 6.0
Implementei com ele e tudo resolvido.

Obrigado.

Criado 12 de março de 2007
Ultima resposta 12 de mar. de 2007
Respostas 5
Participantes 3