Bom dia a todos,
Estou tentando compilar um programa para gerar um arquivo jar executável. Essa parte já consegui, mas tenho problemas ao tentar incluir uma bilbioteca externa no formato jar.
Essa é a minha estrutura de diretorios:
/src/main/
/bin/main/
/lib/
O manifest indicando onde está o main fica em bin/.
Tentei compilar dentro da pasta do projeto, usando jar cmvf /bin/manifest test.jar bin/main /lib
Ele mostra que adicionou todos os arquivos, mas quando tento dar java -jar testc.jar recebo:
[code]Exception in thread “main” java.lang.NoClassDefFoundError: main/Principal
Caused by: java.lang.ClassNotFoundException: main.Principal
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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: main.Principal. Program will exit.
F:\Workspace\Testesqlite3>jar ft test.jar
META-INF/
META-INF/MANIFEST.MF
bin/main/
bin/main/Principal.class
lib/
lib/sqlitejdbc-v054.jar[/code]
Pelo que entendi, ele não encontrou o a classe main.Principal, o que até fez sentido, porque na verdade a classe está em /bin/main/, mas trocando isso no manifest não muda nada, ele continua sem achar a classe.
Alguém pode me dar uma ajuda?
Edit:
Quando eu troco no manifest o caminho da classe Principal para bin/main, ele acusa nome de classe errado.