Criasndo um único arquivo Executável - NETBEANS - Dúvidas
4 respostas
F
flaryon
Bem galera, é o seguitne, estou criando um aplciativo utilizando o netbeans, e utilizo algumas bibliotecas para tal, qd eu mando o netbeans gerar o .jar do projeto, ele cria o arquivo na pasta dit, até aih tudo blz. O problema está caso eu queria executar o arquivo em outra máquina, para que o aplciativo possa rodar, eu tenho que enviar junto a pasta contendo as bibliotecas, gostaria de saber se existe algum meio de eu incluir dentro do .jar todas as bibliotecas, ( eu ate consegui fazer com que a pasta “lib” vá pra dentro do .jar, porém o executável em si não a encotnra) eu tenho que fazer alguma alteração no class-path? qd o arquivo vai sem a pasta da o erro “could not find main class”, mas se vai com a pasta roda beleza…
Sei que existem muitos tópicos referente a este assunto, porém nenhu mainda são minha dúvida…sei como criar o arquivo .jar, porém não como um único arquivo, de forma que não precise de pastas secundárias para que o mesmo execute…
T
thingol
Há duas respostas.
A mais simples é “não tem jeito”: crie um instalador (pode usar o IZPACK, por exemplo), e copie os arquivos do jeito que estão. Aproveite e crie ícones, e outras facilidades. A vantagem é que você não precisa retestar sua aplicação e fica bem mais bonitinho (você pode pôr ícones e outras coisas).
A outra é “use o FatJar”. Eu não recomendo isso porque você tem de retestar a aplicação para ver se ela continua funcionando, e de qualquer maneira clicar 2 vezes sobre um JAR não implica em fazê-lo funcionar com a versão correta do Java, por exemplo (às vezes chama o WinZip ou o PKZIP, ou o WinRAR, em vez de chamar o Java).
F
flaryon
Uma solução que me apontarão foi jogar a pasta lib dentro do projeto e depois reconstruir o projeto, de fato a pasta lib vai pra dentro do novo JAR gerado, porém não executa o aplicativo, diz que não consegue encotnrar a classe principal, mas não eh a classe principal, mas sim as bibliotecas…eu tentei referenciar o local da biblioteca dentro do jar no class-path, porém, andei lendo e vi que o class-path so serve para referenciar diretorios fora do JAR…não teria uma solução nese caminho?
maior_abandonado
certa vez quando precisei disso ai, eu ia adiciona biblioteca jar dentro do meu projeto…
pra fazer isso eu descompactei os pacotes do projeto do jar biblioteca e adicionei estes pacotes ao meu jar (entenda como “eu fiz uma gambiarra pq nao vi outra solução melhor”)
esse programa ai q o tingol falo (acho q era esse mesmo ) eu cheguei a ver um dos administradores daki do guj falando dele num topico laaa atras depois de mta busca, falando que ele mexe com o classloader, adicionando o proprio jar do seu arquivo no calssloader, na path… eu cheguei a conclusão q isso é mto complicado e nem vale a pena (eu so um tanto inciante e nao vo fica dando mil voltas para uma coisa besta…era programinha pekeno q com interface grafica da uns 70 k…)