Olá, eu gostaria de esclarecer uma dúvida que me perturba a tempo aqui neste tópico, é o seguinte, eu já usei o launch4j para criar executáveis de minhas aplicações java, mas eu gostaria de saber como eu faço para criar um arquivo de pacotes linux de minhas aplicações, alguém sabe me dizer como eu faço isso?
Cara. Pra linux acho que é .deb
Mas não acho que faça sentido hue
Seria melhor compactar os binarios e enviar, nao?
Eu faço isso, quando envio pra linux. Deixo um link de download dos binarios, uma base limpa.
Muito obrigado por responder, eu achava que ficaria meio feio no windows o meu programa fosse em .exe e no linux .jar, mas pensando no que você falou, não faz sentido fazer isso mesmo.
Mas tipo. Se tu ainda assim, quiser… O Wine resolve isso auehauha
Tem um pacote do Linux, que executa arquivos .exe
Apesar de ser meio sinistro(eu ja usei), ele faz tranquilo.
O pacote eh o Wine. Ele emula aplicacoes do Windows no Linux, Debian, Ubuntu, etc.
Mas faz mais sentido enviar o jar mesmo :v
A extensão .jar vai rodar em qualquer sistema independente essa é a vantagem do Java só instalar a Virtual Machine e pronto.
Olá, o netbeans tem um recurso de empacotamento nativo, já testei no windows, tem pra linux tbm e mac, dá uma olhada: https://netbeans.org/kb/docs/java/native_pkg_pt_BR.html, quem sabe não ajuda.
Veja esse aqui também: http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm
É verdade, mas se eu conseguir fazer como os outros programas fica mais elegante não acham?
Olá, não sabia que o netbeans tinha tal recurso, eu segui os passos corretamente porém não apareceu nada no menu de contexto pra mim:
Você sabe porque que está retornando isso quando eu encapsulo em executável?
`
ant -f C:\\workspaces\\NetBeansProjects\\Main -Djar.archive.disabled=true -Dnative.bundling.type=exe build-native
Detected JavaFX Ant API version 1.3
Execute failed: java.io.IOException: Cannot run program "iscc" (in directory "C:\workspaces\NetBeansProjects\Main"): CreateProcess error=2, O sistema não pode encontrar o arquivo especificado
C:\workspaces\NetBeansProjects\Main\nbproject\build-native.xml:439: Error:
JavaFX native packager requires external Inno Setup 5+ tools installed and included on PATH to create EXE installer. See http://www.jrsoftware.org/
FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)
`
Você precisa ter instalado o inno setup para criar o instalador baixe em : http://www.jrsoftware.org/
Eu instalei, porém o erro persiste
Olá, no erro está descrito para colocar o local de instalação na variável path
Desculpe pela minha ignorância, mas como eu adiciono alguma coisa nessa variável?
Dá uma lida nesse link: https://www.java.com/pt_BR/download/help/path.xml, mas use o caminho de instalação do Inno Setup ao invés do java, como está no post.
Funcionou, mas pelo que eu entendi é um instalador certo? E para onde vão os arquivos da instalação?
Se eu não me engano fica no diretório do usuário
No Windows
C:\Users\Usuario\AppData\Local\NomeApp
Oi, peço desculpas pela demora para responder, o encapsulamento de exeutáveis está funcionando perfeitamente, e fica dentro da pasta roaming dentro da app data os dados da instalação, agradeço por me mostrar tal recurso, porém o objetivo principal do tópico era transformar minha aplicação em pacotes linux, porém na lista de encapsulamento do netbeans eu não vejo nenhum item a não ser msi e exe, da para encapsular em pacotes linux?
Olá, fiz um teste aqui e para gerar o instalador para o Linux, você deve ter seu ambiente de desenvolvimento (NetBeans) em uma máquina linux. Usei o Debian no teste, o processo é o mesmo do windows, a diferença é o executável, mas para criar o instalador dependendo do tipo (RPM ou DEB) você precisará do encapsulador específico senão vai ver essas mensagens:
-
JavaFX native packager requires Debian Packager tools to create DEB package, but dpkg could not be found.
-
JavaFX native packager requires RPMBuild to create RPM package, but rpmbuild could not be found.
Não cheguei a gerar o instalador, mas gerei o executável. Para gerar o executável Linux (sem instalador) segue-se os passos do print abaixo: