Arquivo Jar Não funciona com quando é executado pelo Eclipse

7 respostas
nandooliveira

Pessoal, estou seguindo uma apostila que tem um programa lá de exemplo que lê um arquivo XML e coloca trata o resultado e coloca em uma JTable. Esse arquivo XML é o usuário que escolhe usando uma JFileChooser.

O que acontece é o seguinte:

Quando executo o programa diretamente pelo eclipse funciona perfeitamente, carrega os valores certinho e preenche a JTable, mas quando export o arquivo .jar e executo ele roda tranquilo, mas quando escolho o XML ele não preenche a JTable. Para ler o XML eu estou usando uma classe externa a XStream. Tava pensando aqui que poderia ser classpath para essa biblioteca externa, depois descartei a possibilidade por ela estar rodando normal no eclipse. Mas é possível que precise coonfigurar a classpath em outro lugar??

Será que alguém tem alguma idéia do que possa ser o problema??

7 Respostas

nandooliveira

PEssoal, foi mal… me confundi no titulo do tópico…

O arquivo programa não funciona quando faço a exportação do arquivo .jar

denislima

como vc esta tentando rodar o jar?

ao rodar tenta colocar no classpath os jars externos

java -jar MyApplication.jar -cp c:/x/x.jar

vai uma sugestao ae…

abraco

nandooliveira

Eu crio o jar usando o Eclipse. Pra executar eu tava dando dois cliques em cima.

Executando pelo prompt ocorre o mesmo problema. Mas pude ver o erro que acontece quando seleciono o XML. Parece que ele realmente não está achando a classe que eu uso pra ler o XML.

Segue como eu executei o jar e o erro que aparece quando seleciono o XML:

C:\Users\Fernando\Desktop>java -jar Argentum.jar -cp C:\Users\Fernando\workspace\fj-16-argentum\lib\xstream-1.3.1.jar

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/thoug

htworks/xstream/io/HierarchicalStreamDriver

at argentum.ui.EscolheXML.escolher(EscolheXML.java:24)

at argentum.ui.ArgentumUI$2.actionPerformed(ArgentumUI.java:70)

at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour

ce)

at java.awt.Component.processMouseEvent(Unknown Source)

at javax.swing.JComponent.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

Caused by: java.lang.ClassNotFoundException: com.thoughtworks.xstream.io.Hierarc

hicalStreamDriver

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

 27 more

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/thoug

htworks/xstream/io/HierarchicalStreamDriver

at argentum.ui.EscolheXML.escolher(EscolheXML.java:24)

at argentum.ui.ArgentumUI$2.actionPerformed(ArgentumUI.java:70)

at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour

ce)

at java.awt.Component.processMouseEvent(Unknown Source)

at javax.swing.JComponent.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
Obrigado pela ajuda

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

Caused by: java.lang.ClassNotFoundException: com.thoughtworks.xstream.io.Hierarc

hicalStreamDriver

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)
denislima

todos os jars necessarios estao na lib do seu projeto?

se nao tiver copie-os e cole-os na pasta lib do projeto

se seu projeto nao tem essa pasta. so cria-la na raiz do projeto

ahhh e depois aponta, no Build Path, todos os jars para a sua lib…

abraco

leonardobhbr

Se voce estive usando biblioteca vc nao pode usa o export padrão do eclipse procure pelo plugin Build Fat jar

e utilize ele para gerar o jar

nandooliveira

Valeu Cara… consegui instalando o Fat Jar !!

Muitooo Obrigadoo…

G

De fato o eclipse não gera o jar com todas as bibliotecas necessárias para funcionar. Como feito, o plugin fat jar é a solução. Para quem precisar, no site

http://www.tiacademicoweb.xpg.com.br

tem tanto o eclipse com o fat jar e o ve instalado, como um tutorial para quem quiser instalar.

Criado 1 de fevereiro de 2011
Ultima resposta 2 de fev. de 2011
Respostas 7
Participantes 4