e ai galera!
Tô tendo problemas com os projetos que estou fazendo no netbeans 4, é o seguinte…
Ao fazer um projeto que utilize jar’s externos ( tipo lookandfell, jasper,conexão com banco de dados), o jar criado pelo netbeans não funciona corretamente… não conecta com o banco, ou não mostra o novo look and feell… “não vê” ou “não leva junto as bibliotecas”.
Gostaria de saber como é o procedimento para criar um jar pelo NETBEANS que “leve junto” as bibliotecas as quais o meu projeto necessita…
Como seria a distribuição de um projeto criado pela IDE…???
(não estou falando de criar o jar manualmente com manifest e etc…)
Alguém aí que trabalhe com o NETBeans poderia me ajudar???
brother
eu uso o eclipse e tinha(ainda tenho) a mesma dúvida.
provisoriamente eu joguei todo o conteúdo dentro do projeto e gero tudo no mesmo jar.
Sei que não é o correto mas enquanto isso …
tb vou aguardar a luz de alguem.
D
Dharis
Botão direito em cima do nome do projeto na Janela Projects -> Properties.
Escolha Build -> Compiling Sources.
Aqui você adiciona as dependências do seu projeto, indicando .jars ou até outros projetos.
Use o botão “Add JAR/Folder…”, e adicione cada jar necessário para compilação, um por um.
Na mesma tela em Run -> Running Project. Indique qual é a “Main Class”.
E podes adicionar arquivos jars necessários para run time, um a um também.
Faça um Clean and Build para confirmar as mudanças.
Desta forma, você vai poder rodar sua aplicação pelo NetBeans.
Você verá no subdiretório dist o .jar dela. Mas as dependências só foram adicionadas ao classpath, elas só são copiadas quando você fizer projeto Web.
Para executar a aplicação externamente, precisas incluir as dependências no Classpath também.
JPinhead
então quando eu distribuir minha aplicação tenho que setar o classpath na máquina do cliente… é isso??
um tanto quanto inviável…acho… qual é a forma prática de fazer isso?
D
Dharis
JPinhead:
então quando eu distribuir minha aplicação tenho que setar o classpath na máquina do cliente… é isso??
um tanto quanto inviável…acho… qual é a forma prática de fazer isso?
Você pode indicar o CLASSPATH na hora de rodar a aplicação (arquivos em lote ou shell script; ou criar uma JVM através de JNI, por um executável nativo).
Ou indicar no MANIFEST do jar da sua aplicação.
JPinhead
OuindicarnoMANIFESTdojardasuaaplicação.
Mas criando o jar pela IDE eu não tenho acesso ao MANIFEST… e era isso que eu queria, setar o classpath no proprio manifest…
então acho que tenho que fazer isso com um arquivo de lote…
qual é a melhor forma?
mister_m
A melhor forma de ter um processo de compilação customizável de um projeto em qualquer IDE sempre é fazer tudo com o Ant. Escreva seu próprio build.xml. O NB suporta isso muito bem, por sinal.
D
Dharis
JPinhead:
Ou indicar no MANIFEST do jar da sua aplicação.
Mas criando o jar pela IDE eu não tenho acesso ao MANIFEST… e era isso que eu queria, setar o classpath no proprio manifest…
No NetBeans 3.6 isso era de fácil configuração direto nos “jar recipes”.
No NetBeans 4.0+ o enfoque é pelas tarefas do ant.
Assumindo que você tá usando projetos padrão (ao contrário daqueles form-free):
Se você criou uma “Java Application” ele vai criar um arquivo manifest.mf no diretório do projeto (Olhe na janela Files). Você pode adicionar atributos lá (não precisa indicar Main-Class).
Se você começou com um projeto de biblioteca normal, você ainda pode abrir o arquivo nbproject/project.properties, editar ou acrescentar a propriedade manifest.file e indicar o arquivo manifest. Você deve indicar o nome relativo ao arquivo build.xml.
Exemplo:
manifest.file=manifest.mf
Lembre de deixar um linha em branco no final do manifest (manifest.mf neste exemplo), como é costume.
E
excon
Olá;
Estou com o mesmo problema do colega não consigo fazer o projeto X enchergar os pacotes do projeto Y durante a execução fora do netBeans. Observei que no projeto X em project.properties já existe a propriedade manisfest.file = manifest.mf e mesmo assim continua não funcionando. Alguma dica ?
Valeu.
JPinhead
Como Dharis disse, edite o arquivo manifest.mf gerado pelo netbeans… e indique os seus “Jar” adicionais lá…
No meu caso resolveu o problema…
Obrigado pessoal…
E
excon
Olá;
OK. Mas qual manifest o que está junto ao projeto ou o que está junto com o .JAR gerado.
E como você colocou os arquivos precisou indica a pasta que eles estão ?
Valeu.
D
Dharis
Fora do NetBeans você tem que adicionar os arquivos .jar dos projetos de que se depende no CLASSPATH.
Uma alternativa citada é adicionar para o “Projeto X”, no manifest do seu arquivo jar atributo “Class-Path”.
Exemplo:
Repare que o ultimo jar está em um subdiretório lib, para efeito de demonstração.
E
excon
Olá;
O problema é que o manifest, é gerado pelo netbeans e eu descompactei o .JAR fiz a mudança e não funcionou. Não tem como indicar dentro de algum arquivo de propriedades ?
Valeu.
D
Dharis
Foi o que disse anteriormente.
Na janela Files, abra e edite o arquivo manifest.mf que o Netbeans gera.
E
excon
OK. Funcionou eu é quem estava dando mole.
Valeu irmão.
E
excon
Ok. Funcionou eu que vacilei.
Valeu.
JPinhead
cara… abra o manifest.mf que está na pasta do seu projeto no netbeans ou em qualquer lugar até no notepad pode ser… e acrescente a linha
Class-Path: SeuJarAdicional.jar
depois de um clean & build no seu projeto…
seu jar está pronto na pasta dist… é so distribuir ele junto com o
SeuJarAdicional.jar