JavaFX et IntelliJ 14 Auto emballage alternatif à EXE


J'utilise Ubuntu 14.04 et j'essaie de m'auto-emballer une application JavaFX dans IntelliJ 14. Cela a été perdre mon temps pour passé 2 jours. Il m'a fallu moins pour développer l'application. Toute aide sera grandement appréciée.

Ce que je veux, c'est un paquet autonome qui s'exécutera sur n'importe quelle plate-forme (principalement Windows). Maintenant, j'utilise Ubuntu et je veux ceci:

1-En utilisant mon système d'exploitation actuel (Ubuntu 14.04), je veux créer un fichier exe qui agira comme un installateur ou un simple exécutable pour Windows quoi qu'il en est produire.

J'ai essayé ceci, http://launch4j.sourceforge.net/docs.html et Excelsior JET, le premier ne crée pas d'application autonome et le second ne s'exécute pas.

2 - j'ai essayé ce http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm

J'ai essayé d'utiliser le javafxpackager qui dans Java8 a été renommé en javapackager, et j'ai exécuté ceci:

javapackager -deploy -native exe -srcfiles src/ -outdir out/artifacts -outfile GreekTest -appclass foo.Main

Ce qu'il a fait était de simplement générer un tas de java fichiers dans l'ourdir. Non exe.

Du lien que j'ai posté ci-dessus,

entrez la description de l'image ici

Tout d'abord, je n'ai pas de fichier XML tel que dans mon répertoire d'application JavaFX qui a une tâche <fx:deploy> est-ce généré par l'utilisateur?

3 - Les outils IntelliJ Build Artifacts génèrent simplement un fichier jar, aucune application autonome.

4 - Je veux aussi éviter Maven/Ant car je ne sais pas comment l'utiliser.

De l'aide?

Author: Trt Trt, 2015-07-24

1 answers

Découvrez Capsule.

Re Excelsior JET ne fonctionne pas, vous devez être sur un système Ubuntu 64 bits, et il a besoin de certaines bibliothèques 32 bits. Voici un extrait des instructions d'installation :

Avis important pour les utilisateurs de Linux 64 bits:

À partir de la version 10.5, certains composants clés de la version 64 bits de Excelsior JET pour Linux reste 32 bits. La plupart des systèmes Linux 64 bits font les bibliothèques 32 bits ne sont pas installées par défaut. Si vous recevez un "Aucun fichier ou répertoire" ou "impossible d'exécuter le fichier binaire" message sur une tentative d'exécuter un composant Excelsior JET, ou l'un de ses composants graphiques les outils échouent au démarrage avec

Exception in thread "main" java.lang.NoClassDefFoundError: java.awt.Frame

, Vous devez installer ces bibliothèques.

Sur Ubuntu / Debian, la procédure était aussi simple que:

sudo apt-get install ia32-libs

Mais dans les dernières versions, vous devez lister explicitement les bibliothèques:

sudo apt-get install libc6:i386 libx11-6:i386 libxext6:i386 libxrender1:i386 libxi6:i386 libxtst6:i386

La liste des bibliothèques et la procédure d'installation dans d'autres distributions peuvent différer.

(Le port complet 64 bits est notre priorité absolue, mais le faire correctement prend du temps. S'il vous plaît garder avec nous.)

Dans tous les cas, cela ne vous aidera pas à créer "un package autonome qui fonctionnera sur n'importe quelle plate-forme (principalement Windows)."Tout d'abord, il crée un exécutable natif qui fonctionnera sur soit Windows, OS X, ou Linux, mais pas sur deux ou trois d'entre eux. Deuxièmement, il ne prend pas en charge la compilation croisée à partir de version 10.5, vous avez donc besoin d'Excelsior JET pour Windows pour créer un EXE Windows.

 0
Author: Dmitry Leskov, 2015-09-11 09:16:04