Olá pessoal, eu estou com problemas em fazer o meu arquivo jar reconhecer bibliotecas internas à elas, são outros jar´s. Quando executo pelo eclipse (não pelo jar), o programa reconhece os caminhos, pois os jar´s fazem parte do projeto. Mas, quando gero o jar pelo Ant e o executo, me deparo com este problema.
Alguém sabe como proceder?
Como esta o seu CLASSPATH? Note que cada .jar precisa estar referenciado individulamente.
Rafael
bom, eu defino o classpath num arquivo xml, usando o Ant. Abaixo o pedaço que uso:
<path id="compile.classpath">
<pathelement path ="${files.dir}/JFreeChart/jfreechart-1.0.0-pre2.jar"/>
<pathelement path ="${files.dir}/JFreeChart/jcommon-1.0.0-pre2.jar"/>
<pathelement path ="${files.dir}/EPSDump/dump.jar"/>
<pathelement path ="${classes.dir}"/>
<pathelement path ="${classpath}"/>
</path>
files.dir corresponde a files/lib. Alguma sugestão?
editado
Para complementar, aqui está o meu target que usa o classpath:
<target name="Compilar" depends="init">
<javac srcdir="${src.dir}" destdir="${classes.dir}" verbose="off"
debug="on">
<classpath refid="compile.classpath"/>
</javac>
</target>
o erro que aparece da 1ª linha é o seguinte:
Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: org/jfree/chart/ChartPanel
Ok, mas o problema eh para rodar, nao?! Voe esta gerando um JAR com outros jars dentro, ou esta executando o class diretamente? Caso esteja executando diretamente, voce precisa adicionar os jars no classpath:
java -cp .;c:/blah/files/lib/Jar1.jar;c:/blah/files/lib/Jar2.jar nome.pacote.NomePrograma
Rafael
Eu estou gerando um jar com outros jar´s dentro. Não estou sabendo configurar pra achar os outros jar´s dentro deste projeto.jar. Se souber como fazer, ou tiver alguma outra maneira, vai me ajudar bastante… Tô há dias tentando solucionar isso… :?
Tranquilo, dei uma olhada no site que você recomendou. Me esclareceu algumas coisas, mas ainda não resolvi.
Vou colocar como ficou o meu targer que faz a referência ao manifest:
[code]
</jar>[/code]
Alguma sugestão?
Bom, o tipo de erro mudou, agora ele não acha as classes internas ao jar, mas acha os .jar.
erro: java.lang.NoClassDefFoundError: org/jfree/data/xy/XYDataset
Esta classe é a primeira usada no meu programa.
Please help!
Estou tendo exatamente o mesmo problema, com a mesma biblioteca (JFreeChart), e depois de mudar o MANIFEST.INF, acontece a mesma coisa. Como resolveram isso?