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

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??

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

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

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)

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

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

Valeu Cara… consegui instalando o Fat Jar !!

Muitooo Obrigadoo…

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.