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

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.

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.

1 curtida

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.

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.

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.

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.

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.

1 curtida

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

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

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

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?

1 curtida

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:

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?

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

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.

Falei besteira de novo, acabei atropelando tudo kkkkkk.

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

Boiei hahahaha

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”

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

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

Exemplo: meuArquivo.bat