Pessoal, vou ter que insistir nessa questão mesmo já tendo lido o tutorial…mil perdões pra quem estiver de saco cheio, e, por favor, SOCORRO!
Tenho dentro de um diretório GraphEditor_exec os seguintes arquivos:
GraphEditor.jar - contém a classe Main, com o arquivo manifest configurado direitinho para executar o programa
diamante.jar - biblioteca usada pelo GraphEditor, que contém vários pacotes
OK, vou tentar rodar os arquivos e obtenho: Exception in thread “main” java.lang.NoClassDefFoundError: diamante/core/graph/Graph at graph_editor.GraphEditor.main(GraphEditor.java:16)
Até aí, parece um erro normal de classpath, onde o diamante.jar (onde a tal classe Graph está contida no pacote diamante.core.graph, certinho) não estaria sendo setado corretamente, certo? Pois é, mas já tentei as seguintes combinações:
set classpath=.;.\diamante.jar;%classpath%
set classpath=.;C:\Documents and Settingseduardo\My Documents\PUC\Projeto\GraphEditor_exec\diamante.jar;%classpath%
Bom, o diretório atual eu sempre configuro, e tentei configurar o caminho do jar usando somente o .diamante.jar e o caminho completo, mas nenhum dos dois funciona…alguém sabe o que está faltando???
Nota: já conferi os JAR e os pacotes estão certinhos lá dentro…
Quando seu patch contém diretório com brancos no nome como é o caso do Documents and Settings é de bom alvitre coloca-lo entre aspas no classpath. Por exemplo:
set classpath=.;C:“Documents and Settings\eduardo\My Documents”\PUC\Projeto\GraphEditor_exec\diamante.jar;%classpath%
Mas seu problema talvez seja a localização de classe dentro de pacotes. É isto que você precisa rever. Qual o comando que está usando para executar o sistema? Aí deve estar o erro.
Tentei colocar a variável Class-Path no meu manifest mas também não funcionou…o diamante.jar está dentro do GraphEditor.jar, na mesma pasta que a classe main…o manifest está assim: