0
votes

Créer Windows Exe de Java (FX) via Eclipse

Je ne peux pas créer de logiciels Windows via Eclipse. Utilisation de "Exécution" exécute l'application comme elle le devrait, mais je voudrais le démarrer sans Eclipse, de préférence comme une application Windows indépendante, à l'aide d'un simple double-clic. Bien que Ce suggère plusieurs approches, Ils nécessitent tous des connaissances supplémentaires que je ne possède pas.

J'ai essayé d'utiliser Launch4J, mais cela nécessite également des connaissances supplémentaires. Je suis stupéfié qu'il est si difficile de créer une simple application Windows-Java-App. P>

Modifier J'utilise ce pom.xml: p> xxx pré>

mais Eclipse donne ce message d'erreur: p> xxx pré>

Le but étant P>

clean compile package -e


2 commentaires

Mon projet peut regrouper votre application dans un fichier MSI et même regrouper dans le JRE alors l'utilisateur final n'a pas besoin de Java installé. C'est un peu complexe cependant. Github.com/pquiring/javaforce


@stDunbar Le message que vous souhaitez indiquer nécessite une connaissance avancée de la programmation Java, y compris un logiciel supplémentaire. Wow, est-il toujours si difficile de développer une simple application Java qui fait la même chose que de cliquer sur le bouton d'exécution dans Eclipse?


3 Réponses :


2
votes

Tout d'abord, vous ne pouvez pas créer "Windows-Java-App". Les applications Java fonctionnent sur JVM (machine virtuelle Java), ce qui signifie que vous obtiendrez un fichier EXE. Ce dont vous avez besoin est un fichier JAR. Pour info sur la création d'un fichier JAR à Eclipse, voir ici: https://stackoverflow.com/a/21110972/4440179

Pour JavaFX Suivez ce guide: https://wiki.eclipse.org/efxclipse/TUCTUALS / Tutorial1


15 commentaires

Il est possible de créer "Windows-Java-Apps". Vous pouvez même regrouper la JRE dans le MSI qui est distribué pour que l'utilisateur n'a pas besoin d'installer Java. Java est juste une DLL lorsque vous y réfléchissez.


J'ai fait l'exportation de l'application sous la forme d'un "fichier jar runnable" avec différentes sélections ("extrait requis [...]", "Paquet obligatoire [...]" "," Copie obligatoire [...] ". Double-cliquer sur le résultat. Le fichier JAR n'a pas démarré l'application.


Oui, cette réponse ne vous aide pas du tout. Comme le dit Peter, vous peut créer des "applications Windows-Java-applications", mais aussi cette réponse ne dit que rien sur la fabrication du pot en mesure d'exécuter une application Javafx.


@Alleuspks Votre application a-t-elle une interface graphique?


@Jims op dit, c'est JavaFx. Il ne sert à rien de Javafx sans une interface graphique de mon mec.


@Jims Oui, c'est pourquoi JavaFx est utilisé.


@AlliseVersks Désolé, je n'ai pas remarqué le Javafx dans le titre. Quoi qu'il en soit, sans plus d'informations sur l'application, le code, etc. Je ne peux pas dire ce qui ne va pas. Mais c'est le moyen de créer un exécutable.


@JIMS Depuis cela ne répond pas à la question des OPS, je vous recommande de supprimer cela.


@xtratic il a demandé citer "J'aimerais le démarrer sans Eclipse, de préférence en tant qu'application indépendante de Windows, en utilisant un simple double-clic.". Il demande un fichier jar. Je l'ai redirigé à une réponse avec des étapes sur la manière de créer un en éclipse. Comment cela ne peut-il pas aider à op?


Votre réponse ne fonctionne pas pour la demande d'OPS pour un bocal Javafx à double cliqueur.


@Jims "il demande un fichier jar". Tout ce que je demande, c'est une approche minimale de gérer une application (Java-) sous Windows avec un effort minimal.


@AllageVersks java -jar jar_name.jar.jar exécutez ceci via la ligne de commande pour vérifier si votre application lance une exception.


@JIMS Construire un pot Javafx n'est pas la même chose que la construction d'un pot normal.


@AllageVersks J'ai édité ma réponse pour les applications JavaFX.


@JIMS Cette approche de ligne de commande commence comme prévu comme prévu. Merci. Le principal problème est toujours que je n'ai pas de simple approche de double-clic.



1
votes

Je recommande de créer un projet code> Maven CODE> pour vous aider à créer un bocal Javafx exécutable.

Tout d'abord, vous devez vous assurer que Eclipse a le plug-in Maven Aide -> À propos de Eclipse IDE code> et assurez-vous que Eclipse.org - m2e code> est installé. P>

puis faire un projet Maven Nouveau -> Autre .. -> Maven Project , remplissez les éléments de base pour créer le projet, placez ensuite vos fichiers source sous src / main / java code> de ce nouveau projet. p>

Il devrait y avoir un pom.xml code> fichier à la racine de ce nouveau projet; Ce fichier permet de gérer vos dépendances de projet et de créer un processus. Pour créer facilement un fichier exécutable, ajoutez les plugins ci-dessous à votre fichier pom.xml code> pour modifier le processus de construction. P>

puis vous pouvez simplement cliquer avec le bouton droit de la souris sur votre pom.xml ALORS Exécuter AS -> Maven Cuild ... Code> Puis placez Clean Compile Package -E -E code> comme vos objectifs, actualisez votre myProject / cible CODE> répertoire et trouvez votre jar sous myProject / cible / javafx / app / jarname.jar code> p>

aussi, si vous le souhaitez, vous pouvez utiliser le plugin de Launk4J Maven pour avoir Maven Build L'exécutable natif pour vous, sinon votre pot nécessitera que l'utilisateur dispose de Java installé, mais il s'agira toujours d'un javafx double double-cliquable. P>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>1.0.0</version>
<name>baz</name>
<description></description>

<dependencies>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>com.zenjava</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>8.8.3</version>
            <configuration>
                <mainClass>path.to.my.Main</mainClass>
                <updateExistingJar>true</updateExistingJar>
                <skipCopyingDependencies>true</skipCopyingDependencies>
                <useLibFolderContentForManifestClasspath>true</useLibFolderContentForManifestClasspath>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>build-jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
</project>


11 commentaires

Maven a-t-il besoin d'exécuter n'importe quelle application Java sous Windows? J'en doute.


Non, Maven est juste un outil de construction. Cela vous permet de construire vos projets. J'ai également eu du mal à faire une application exécutable Javafx jusqu'à ce que j'utilise Maven.


J'ai essayé Maven, mais je reçois le message d'erreur "Aucun butin n'a été spécifié pour cette version". Les professionnels peuvent savoir tout de suite que les objectifs doivent être spécifiés, mais je veux simplement courir mon application ...


Désolé, cliquez avec le bouton droit de la souris sur exécuter comme -> Maven Cuilth ... Puis placez Clean Compile Package -E -E comme buts


Je reçois le "L'objectif que vous avez spécifié nécessite un projet d'exécution, mais il n'y a pas de POM dans ce répertoire".


Vous n'avez pas cliqué sur le fichier pom.xml ? Votre projet n'est-il pas un projet Maven Java? Il devrait avoir un peu m à gauche du j sur votre dossier de projet. Veuillez coller le contenu de votre pom dans votre question.


Laissez-nous Continuez cette discussion dans le chat .


Je mets le fichier pom.xml à la racine, mais l'erreur suivante apparaît lorsque j'essaie de l'exécuter: "Pom malformé"


Désolé, je n'avais passé que la section de la section pom Le POM pom devrait ressembler davantage à ce que j'ai édité dans ma réponse maintenant . Vous êtes presque là, une fois que vous avez compris Maven un peu plus, cela vous fera beaucoup plus facilement la vie. De plus, vous devrez spécifier le chemin d'accès à votre classe JavaFX principale à la place de chemin.to.my.main


Je reçois un message d'erreur composé de "Échec de construction" et "Échec de l'exécution de l'objectif COM.ZENJAVA: JAVAFX-Maven-Plugin: 8.8.3: Build-Jar".


Veuillez ajouter le contenu de votre pom.xml à votre question. En outre, continuons à discuter, cliquez sur le lien ci-dessus.



2
votes

Launch4j Je sais que cela peut faire une enveloppe EXE sur la Java, et c'est une plate-forme croisée.

vérifier ici: http://launch4j.sourceforge.net/


2 commentaires

Cela nécessite des connaissances supplémentaires. Avant de me dire de simplement l'apprendre, essayez de développer une approche minimale.


De quelles connaissances supplémentaires parlez-vous? Vous sélectionnez Fichier de sortie .exe et fichier entré .jar. Peut-être qu'ils ont changé quelque chose ces derniers temps, mais je me souviens que vous avez besoin de 1-2 clics.