Como criar um instalador .exe de um .jar no netbeans?

32 respostas
netbeansprogramaçãojava
G

Pessoal terminei meu projeto de cadastro. Agora eu quero gerar um executável junto com o banco de dados no Netbeans, eu coloquei Limpar e Construir e ele gerou meu .jar, mas na hora que coloco em outro computador não funciona por causa do banco, quero gerar o executável junto com o banco de dados. Quero tudo junto para na hora que eu colocar em outro PC eu conseguir rodar normalmente, como qualquer outro program. Obrigado desde já.
OBS: Eu li esse tópico aqui com a mesma pergunta: [Resolvido] Como criar um instalador a partir de um arquivo .jar no netbeans?

Mas sou iniciante em java… Em qualquer linguagem na verdade. E não entendi muito bem. Se puderem me explicar melhor onde coloco esse código do tópico do link eu agradeceria.

32 Respostas

F

Agora eu li direito. Você tem um banco de dados aí. Bem, eu sempre fiz da mesma forma: criei um script que subia o dump e executava o jar.

Mas você pode fazer
Essa solução
ou
Perguntar ao pai de todos mais um pouquinho

É apenas um palpite, afinal eu sempre segui meu metódo de scripts, tanto .sh quanto .bat. Sei lá, não acho um instalador tão necessário, mas isso pq eu pessoalmente nunca precisei.

G

Como que faço isso? haha Cara, eu sou leigo nesse assunto estou caminhando sozinho na programação. Sou eu, os fóruns e apostilas.
rs E obrigado pro me responder.

G

A questão toda não é criar um .exe de um .jar, mas sim criar ele E levar o banco de dados junto. Para o, podemos dizer, cliente… Só fazer uma instalação e tudo estar fucionando. Minha aplicação e o BD.

D

Olha, o exe não vai resolver o problema.
Você tem um sistema que só rodará offline ou precisa compartilhar dados com outros usuários?
Se o caso é apenas offline:

  • Usar banco de dados instalado na máquina do cliente e, na primeira execução, rodar o dump e inicializar o sistema como um todo, tipo uma configuração inicial. Como o @FearX sugeriu.
  • Usar um banco de dados embarcado, menos parrudo e mais funcional, como o h2.

Se precisa de funcionamento online ou atualizar dados, sugiro usar um banco embarcado e, de tempos em tempos, conectar, sincronizar e manter o sistema rodando de forma transparente.

G

Entendo meu amigo Darlan.

Eu não sei fazer esse Dump, mas bom…

Vou procurar no papai pra ver se acho algo sobre esse Dump.
Como o FearX recomendou rs.
Mas
Obrigado por responder.

D

Cara, basicamente, é exportar toda a informação relevante do banco, criação do schema/banco de dados, criação das tabelas, criação das constraints, triggers, procedures, functions, etc.
Dá uma pesquisadinha no google que você acha fácil milhares de exemplos.

G

Valeu Cara, quando estiver tudo certo no meu projeto voltarei comentando como fazer para ajudar iniciantes como eu. Me deram um luz rs

R

Santiago, beleza? Cara você pode fazer assim, vai no bloco de notas e digita isso:

@echo off
SET PGPASSWORD=senhadobanco
cd  C:\Program Files\PostgreSQL\10\bin
pg_dump -U postgres -C -f  C:\backup.dump
pause

PGPASSWORD = Pra rodar fazer o dump sem pedir a senha
C:\Program Files\PostgreSQL\10\bin = pega o caminho do banco de dados no pc
pg_dump -U postgres -C -f C:\backup.dump = onde ta ‘C:\backup.dump’, vc coloca onde quer
que o seu arquivo seja salvo e o nome do arquivo + extensão ‘.dump’

Agora pra recuperar vc faz assim:

@echo off
cd  C:\Program Files\PostgreSQL\10\bin
psql -U postgres < C:\backup.dump
pause
R

Feito isso, você pode usar o Launch4J pra converter o seu .jar em .exe ou pode deixar o .jar mesmo.
Depois procura um programa chamado isTool e InnoSetup. Com o InnoSetup vc vai simplesmente criar o instalador, vai colocar os arquivos, o ícone, é bem fácil.

Com o isTool você vai editar o seu script. Vai ter a opção de executar com a instalação, você só vai precisar colocar o seu arquivo .bat e o arquivo .dump lá.

Explicando assim por cima é mais complicado, mas procura no youtube como usar o istool e o innosetup

G

Oi Abner, obrigado por responder.
Esse .dump eu coloco junto dos arquivos que serão instalador na máquina então? No programa que você passou o INNO. No caso, coloco o .JAR e o .DUMP e o meu script do bd? É isso?

R

Então, eu costumo fazer do jeito que eu falei, converto o meu .jar pra .exe, depois só jogo os arquivos que preciso lá. O script do banco de dados não precisa, porquê você já faz o dump. Depois de instalar o dump vai fazer isso pra você, o banco de dados vai ser “preenchido” automaticamente.

Olha um exemplo:

G

Não entendi muito bem. Como o banco de dados vai ser “preenchido” sendo que as tabelas e atributos estão no script?
Ou o dump pega o caminho do banco e ja abre o scrip e “preenche”, é isso?

G

Haha. Acho que entendi. Mas me confirma se é isso mesmo kk

R

Opa, eu passei o comando incompleto, o correto é assim:

@echo off
cd  C:\Program Files\PostgreSQL\10\bin
SET PGPASSWORD=senhaBanco
pg_dump -U postgres -C -f  C:\Backup\nomeDoArquivo.dump nomeBanco 
pause

No caso o dump já faz o trabalho de pegar tudo que está no seu banco: coluna, linha, etc… Se você for ver, no próprio arquivo .dump. tem todas as querys necessárias para criar e preencher o seu banco de dados.

R

Falei besteira de novo, acabei atropelando tudo kkkkkk.

Nessa parte o cmd tá “entrando” na pasta do postgres e tá indo fazer o dump

G

Boiei hahahaha

R

Foi erro meu, vamos lá:

@echo off
cd C:\Program Files\PostgreSQL\10\bin
SET PGPASSWORD=senhaBanco
pg_dump -U postgres -C -f C:\Backup\nomeDoArquivo.dump nomeBanco
pause

cd C:\Program Files\PostgreSQL\10\bin: Se você tem o postgres instalado na sua máquina, vc vai ter que colocar isso no CMD, se você for curioso também e for entrar nessa pasta, vai ver que lá tem um arquivo chamado “dump”

SET PGPASSWORD=senhaBanco: Aqui é a senha do seu banco de dados, vc vai colocar no lugar de onde tá escrito “senhaBanco”

pg_dump -U postgres -C -f C:\Backup\nomeDoArquivo.dump nomeBanco: Aqui ele vai fazer o dump e jogar pra uma pasta que você escolheu, onde tá escrito “nomeBanco” é o nome do banco de dados que você quer, exemplo: “pg_dump -U postgres -C -f C:\Backup\meuBackup.dump CadastroFuncionarios”

G

Ainda não entendi muito bem essa parte. rs
Do bloco de notas, salvo o arquivo como .dump?

R

Não, na hora de salvar você vai salvar como .bat

Exemplo: meuArquivo.bat

G

Não tenho o PostgreSQL… Uso o Mysql. Ainda to perdido nessa questão de .dump. ahahha

R
G

@echo off
cd C:\Program Files\MySQL\MySQL Workbench 8.0 CE
SET PGPASSWORD=""
pg_dump -U postgres -C -f C:\MusicSSchool\project.dump MusicSSchool
pause

Fiz o meu assim. :open_mouth:

R

Não amigo, no mySql o processo é diferente:

mysqldump -u root -p db_seuBanco > /caminhoOndeOArquivoVaiSerSalvo/arquivo.sql

R

Esse vídeo aqui é bem explicativo.

G

Quando eu crio no inno o meu .EXE preciso adicionar a pasta do meu projeto ou só o .jar basta?

R

Apenas o .jar

G

To batendo cabeça de como ainda criar meu Backup, pois uso o MySQL Workbench 8.0 CE junto do Wamp server. Quando faço meu backup do banco do Wamp server o meu Backup.sql fica vazio.

R
E

Penso que seja isso que ele procura:

aqui

E

Firebird Embedded

G

@echo off
cd C:\wamp\bin\mysql\mysql5.7.21\bin
SET PGPASSWORD=""
mysqldump -u root -p escolamusica > C:\wamp\bin\mysql\mysql5.7.21\bin\arquivo.sql
pause

Fiz meu .bat assim, criei executei e ele me gera um script mysql, mas esse script quando abro com o bloco de notas esta em branco. E quando abro com o MySQL Workbench trava.

G

Vou pesquisar sobre isso, pois de outro modo ta tenso rs

Criado 8 de agosto de 2018
Ultima resposta 13 de ago. de 2018
Respostas 32
Participantes 5