Bonjour,
Voici pour commencer une application très simple qui contient du FX et du swing:
l'exécution de ce code retourne chez moi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 import javax.swing.JDialog; import javax.swing.JLabel; import javafx.collections.FXCollections; import javafx.collections.ObservableList; public class myMain { public static void main(String[] args) { JDialog dlg = new JDialog(); dlg.setSize(1000, 1000); ObservableList<String> olData = FXCollections.observableArrayList(); olData.add("CECI vient de FX"); olData.add("et oui de FX !"); String myFxVersion = com.sun.javafx.runtime.VersionInfo.getRuntimeVersion().toString(); String myJavaVersion = System.getProperty("java.runtime.version"); JLabel AAfficherLbl ="**" + new JLabel(olData.get(0).toString() + "** Version Java = " + myJavaVersion + " Version FX " + myFxVersion); System.out.println(AAfficherLbl.getText()); dlg.add(AAfficherLbl); dlg.setVisible(true); } }
Vous constaterez que la version de java est 1.7 et que FX est en 2.2.**CECI vient de FX** Version Java = 1.7.0_80-b15 Version FX 2.2.80-b14
Ce sont les versions que nous devons employer après déploiement aux fins de compatibilité avec le serveur (WebSphere) et ce sont les versions qui sont dans le java build path de mon Eclipse.
Mon but est de pouvoir déployer via JavaWebStart mais dans un premier temps, je voudrais déjà pouvoir exécuter un JAR en 1.7 et 2.2 (comme dans mon Eclipse)
Voici comment je m'y prends...
En Eclipse,
je clique droit sur mon projet
je choisis "Export"
Dans "Select an export destination", je choisis "Java" et puis "Jar file"
"monProjet", "classpath", ".project" et "build.fxbuild" sont cochés par défaut
"Export generated class files and resources" est coché (je ne coche pas "Export Java source files and resources")
Je donne un nom et une destination à mon fichier et je pousse sur "next" et encore "next" pour arriver sur
JAR Manifest Specification avec:
- je coche "Generate the manifest file" et je le nomme "MyManifest"
- je laisse le choix sur 'Seal some packages"
- j'indique le nom de ma Main class : "myMain"
et enfin, "Finish"
A ce moment, mon classPath vaut:
et mon Manifest vaut:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="lib" path="C:/Program Files (x86)/Java/jdk1.7.0_80/jre/lib/jfxrt.jar"/> <classpathentry kind="output" path="bin"/> </classpath>
Si maintenant je clique directement sur mon fichier SwingWithFX.jar, l'application fonctionne bien mais avec les versions installées sur mon PC.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3Manifest-Version: 1.0 Main-Class: myMain
Il s'affiche donc
ce qui ne m'arrange pas du tout.CECI vient de FX Version Java = 1.8.0_71-b15 Version FX 8.0.71-b14
Il ne tient donc pas compte du Path qui est dans mon classPath ci-avant.
Pour pallier à cela, je fais un petit fichier.bat qui contient le path.
à ce moment il exécute bien la version 1.7.0.80 de java mais comment lui dire de prendre FX 2.2 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6SET PATH="C:\Program Files (x86)\Java\jdk1.7.0_80\jre\bin" java.exe -version pause java -jar SwingWithFX.jar pause
Enfait il m'affiche bien dans la console la version java 1.7, mais il ne trouve plus du tout FX et me génère donc une ClassNotFoundException: javafx.collections.FXCollections
Merci d'avance pour votre aide.
Partager