[Resolvido] Distribuição - Java - GUJ
tandrade Agosto 1, 2008, 3:41pm #1
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.
tandrade Agosto 1, 2008, 4:25pm #2
tandrade Agosto 5, 2008, 3:52pm #3
Ninguem poderia ajudar nisso??? dar uma luz ao menos
peczenyj Agosto 5, 2008, 3:56pm #4
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).
correainfo Agosto 6, 2008, 5:37am #5
Bom ja tive problemas com o manifest segue em abaixo um exemplo
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)
tandrade Agosto 6, 2008, 10:21am #6
[quote=correainfo]Bom ja tive problemas com o manifest segue em abaixo um exemplo
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 ://
tandrade Agosto 6, 2008, 1:41pm #7
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
Segue a forma correta, acrescentando a linha do Class-Path na mao dentro do manifest.mf, com todo o conteudo da pasta /dist/lib