[Resolvido] Distribuição

Pessoal, quantos de vocês aqui conseguem criar uma aplicativo dentro do Netbeans, com API`s externas (ex: mysqlconnector, javacomm, jfreechart etc etc) e distribui-las através da criação do .jar pelo build do netbeans 6 ou 5 (/dist)??
Não estou falando aqui de criar o .jar e executar no mesmo diretório, lá bonitinho como foi criado e talz.

Estou com sérios problemas para gerar um aplicativo com essas API`s que possa executar em outro PC sem ter de ficar setando o Class-Path em toda máquina que eu queira executar o aplicativo…
Já tentei também editando o manifest.mf, colocando a linha “Class-Path: lib/teste.jar” e não funcionou. Sempre me ocorre o erro de “main-class not found” quando adiciono a linha com a referencia para essa API extra.

Alguem pode me ajudar com isso??

Obrigado.

Alguem??

Ninguem poderia ajudar nisso??? dar uma luz ao menos :confused:

Vc pode redistribui-las?

Alguns jars possuem restrições na licença de uso.

Nada impede que vc descompacte os jars e junte tudo num só, entretando distribuir esse jar pode tem que obedecer alguma regra (como pagar algum $$$).

Tecnicamente seria bom vc não depender de distribuir tudo. Deixe o cliente baixar ou crie um programa/script que baixe os jars necessários. Ja imaginou a mão de obra que seria dar manutenção? Ai surge uma nova versão de um jpindamonhamgaba que tem varias correções, ao inves de lançar uma nova versão do seu programa basta atualizar um jar (que pode ser transparente para o cliente conforme a usa estratégia de atualização automática).

Bom ja tive problemas com o manifest segue em abaixo um exemplo

Manifest-Version: 1.2
Class-Path: lib/JTattoo.jar lib/jfreechart-1.0.9.jar lib/jcommon-1.0.12.jar 
Main-Class: br.com.projeto.Main

No Main-Class coloque corretamente os pacotes ate a classe main…

Na pasta raiz o jar e crie um pasta lib e coloque as apis la dentro (Jfreechart e etc)

[quote=correainfo]Bom ja tive problemas com o manifest segue em abaixo um exemplo

Manifest-Version: 1.2
Class-Path: lib/JTattoo.jar lib/jfreechart-1.0.9.jar lib/jcommon-1.0.12.jar 
Main-Class: br.com.projeto.Main

No Main-Class coloque corretamente os pacotes ate a classe main…

Na pasta raiz o jar e crie um pasta lib e coloque as apis la dentro (Jfreechart e etc)

[/quote]

Fiz exatamente isso e o aplicativo(.jar) não rodou nem na pasta de origem que o netbeans criou. O problema sempre ocorre quando eu digito a linha do Class-Path, ou seja, só funciona do jeito abaixo (sem a linha do Class-Path) porém não consigo acessar as funcionalidades das API’s que estou usando… continua o mesmo problema ://

Manifest-Version: 1.2
Main-Class: br.com.projeto.Main

Resolvido!
O problema estava no Class-Path configurado erroneamente:
Class-Path: lib/jfreechart.jar

Resolvi mudar e, de fato, acrescentar todas as API’s que estavam dentro da pasta “lib”. A priore eu achava que somente setando a API extra dentro do Class-Path já resolveria meu problema. No entanto, quando resolvi acrescentar tudo o que estava na pasta lib (na tora msm), absolutelayout.jar, swing-layout.jar e jfreechart.jar o problema havia desaparecido :smiley:

Segue a forma correta, acrescentando a linha do Class-Path na mao dentro do manifest.mf, com todo o conteudo da pasta /dist/lib
Class-Path: lib/jfreechart.jar lib/absolutelayout.jar lib/
swing-layout.jar

Obrigado a todos que de um jeito ou de outro contribuiram :slight_smile: