Abertura de .jar dando erro

A minha idéia é a seguinte: Tenho um método que faz o download de um arquivo .jar. Ao finalizar o download, a aplicação atual é fechada e o novo .jar baixado é aberto. Utilizo o método abaixo para fazer a execução do mesmo. Todavia, quando vou abrir o arquivo baixado um erro aparece dizendo: “A Java exception has occurred”. Eu utilizo uma biblioteca de skins Swingx para colorir a aplicação, e antes de eu utiliza-la não tinha problema algum com a abertura do programa.
Para rastrear melhor o que está acontecendo, resolvi abrir o arquivo baixado no Prompt de comandos do Windows, e eis o que aparece:

[quote]Exception in thread “main” java.lang.NoClassDefFoundError: org/pushingpixels/sub
stance/api/SubstanceLookAndFeel
at janelas.menuPrincipal.lookAndFeel(menuPrincipal.java:3345)
at janelas.menuPrincipal.(menuPrincipal.java:93)
at principal.Main.(Main.java:54)
Caused by: java.lang.ClassNotFoundException: org.pushingpixels.substance.api.Sub
stanceLookAndFeel
at java.net.URLClassLoader$1.run(Unknown Source)
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)
… 3 more[/quote]

[code] private static void finalizaInstalacao() throws Exception {
//Mensagem de confirmação de download
try {
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
Messages.mostraMensagemInformativa(“The new version has been downloaded and successfully installed. \nThe software will now be restarted.”, null);
//Comando para executar a nova versão
try {
Runtime.getRuntime().exec("cmd.exe /c start " + objNomeArqDownload);
} catch (IOException ex) {
Logger.getLogger(Connection.class.getName()).log(Level.SEVERE, null, ex);
}
}
});

   } catch (Exception e) {  
     throw e;
   }
   //Fecha o programa
    System.exit(2);
}[/code]

O mais estranho é que quando eu tento abrir esse programa manualmente, clicando duas vezes sobre o aplicativo ele funciona.

O seu Jar contém essa classe também, ou ela está em um jar separado? Se estiver em um jar separado, você tem de baixar esse jar também :slight_smile:

Está tudo junto no mesmo .jar. Realmente é muito estranho esse erro.

Baixo o .jar pra mesma pasta do aplicativo, contendo a pasta lib e todos os arquivos necessários para a execução do mesmo.