Olá pessoal !
Estou utilizando o IDE netbeans para desenvolver a minha aplicação. Neste projeto, estou utilizando alguns bibliotecas externas (.jar) que adiciono no Libraries.
Quando gero o arquivo .jar da minha aplicação para levar ao cliente, esse jar externo não é incluído no meu pacote .jar
Teria como “empacotar” os jar externos na minha aplicação para poder rodar em outro ambiente !?
Obrigado pela atenção.
:roll:
quando você dá um build project ele gera o war com a seguinte estrutura
Projeto
web-inf
lib
meta-inf
pastas e arquivos gerais
Se você não der o build project ele não coloca os jars no seu pacote.
Isso é para projeto web, certo ?!
Em web eu não tenho esse problema, agora estou enfrentando esse problema no ambiente cliente/servidor. Faço toda minha aplicação e adiciono algumas Libraries externas ao projeto. Quando rodo em outro micro o jar gerado pelo netbeans ele nao carrega junto o os libraries !
Bom dia,
Existe duas opções:
1.ª - Você gera o JAR de sua aplicação, do mesmo jeito que gerou agora, leva os outros pacotes (JAR das bibliotecas) e acrescenta no CLASSPATH;
2.ª - Existe a possibilidade de copiar um pacote da biblioteca para o seu projeto, é só arrastar;
Evandro Rosa,
Evandro, a 1.ª funciona, mas é totalmente inviável fazer isso com mais de mil usuários utilizando.
Na segunda opção, onde eu arrastaria o pacote ? Criaria uma pasta nova ? Precisaria mudar meus imports nos códigos da aplicação ?
Obrigado pela ajuda
Sds, Cabrera,
Na aba Projects do NetBeans existem 4 pastas: Source Packages, Test Packages, Libraries e Test Libraries. Quando é executado o Build o NetBeans constroi o JAR com o conteudo da pasta Source Packages, sua bibliotecas estão na pasta Libraries, dentro do conteudo de suas bibliotecas é possível ver os pacotes, logo, o que você precisa copiar são os pacotes que estão em sua biblioteca na pasta Libraries, para a pasta Source Packages e quando o build for executado, esses faram parte do .JAR
Evandro Rosa,[/b]
Olá Evandro …
Fiz o que você me disse … Arrastei o pacote net.sf.jasperreports.engine do jasperreports-0.6.7.jar para a minha pasta Source Packages.
Após isso, retirei jasperreports-0.6.7.jar do meu Libraries e no código da classe dei um import do pacote “net.sf.jasperreports.engine.*”, até ae tudo bem, quando eu digitava net e colocava o ponto “.” ja aparecia a opção sf e assim por diante.
Mas quando acabei de digitar toda a linha acima no import ela ficou com um risco vermelho abaixo dixendo “package net.sf.jasperreports.engine.* does not existe”. Ou seja, ele não achou a classe.
Isso não seria q na minha pasta source eu tenho apenas arquivos .java e quando arrasto uma pckage de um jar para o source, eu acabo levando arquivos .class para esta pasta.
Estaria fazendo corretamente, me corrija se estiver errado …
Mesmo assim agradeço pela ajuda