Bom pessoal estou tendo problemas quando vou executar o class por linha de comando, pois meu sistema funciona assim:
Tenho uma aplicação JAVA que conversa com uma aplicação em C via XML, dai a aplicação C chama a aplicação JAVA novamente…
Na chamada o erro que acontece segue na imagem abaixo
[quote]Exception in thread “main” java.lang.NoClassDefFoundError: C:\PUC\Projeto_Ori\bu
ild\classes\MenuPrincipal\MenuPrincipal/class
Caused by: java.lang.ClassNotFoundException: C:\PUC\Projeto_Ori\build\classes\Me
nuPrincipal\MenuPrincipal.class
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)
Could not find the main class: C:\PUC\Projeto_Ori\build\classes\MenuPrincipal\Me
nuPrincipal.class. Program will exit.
[/quote]
Pasta onde se encontra o EXE:
C:\PUC\Projeto_Ori\projeto_c
Pasta onde contem as Classes:
C:\PUC\Projeto_Ori\build\classes\MenuPrincipal\MenuPrincipal.Class
C:\PUC\Projeto_Ori\build\classes\CadastroUsuario\CadastroUsuario.Class
C:\PUC\Projeto_Ori\build\classes\Help\Help.Class
Na hora que você chama o java, tem que passar o nome da classe a ser executada, no caso MenuPrincipal e o diretório principal das suas classes precisa ser passado na opção cp.
Antes de alterar sua chamada, teste se ela está certa através do prompt do comando do DOS (caso não tenha feito isto ainda).
É só você abrir o prompt e entrar na pasta onde está o executável da sua aplicação feita em C. Estando neste diretório, tenta executar o java com o mesmo comando que colocou no fonte:
O comando que você conseguir executar no prompt com sucesso é o mesmo que você deverá usar no fonte (duplicando as barras invertidas \ por causa da sintaxe de string).
Caso o comando acima, tirado do seu fonte, não funcione no prompt, tente alterá-lo pra esta forma (que segue a sintaxe que te falei acima):