Bonjour ! et merci d'avance à tout ceux qui peuvent m'aider !
voilà ca doit faire plusieurs jours que je transpire et que je me bats sur ce sujet : j'ai fait ma petite appli de test sur e(fx)clipse, qui marche parfaitement, et j'essaie de créer un executable .exe pour windows.
j'utilise la version javafx-sdk-11.0.2
ma version de jdk est : jdk-14.0.2
pour compiler mon application je tente de générer mon build.xml en utilisant le fichier build.fxbuild intégré au départ à la création de mon projet javaFX sur e(fx)clipse.
j'obtiens le message d'erreur suivant lors de l'éxecution de mon fichier build.xml par Ant:
quelque chose m'intrigue dans mon fichier xml, il y est fait mention de deux fichier .jar que je suis incapable de trouver sur mon PC : ant-javafx.jar, et jfxrt.jarBuildfile: C:\Users\regol\eclipse-workspace\bonjour\build\build.xml
setup-staging-area:
[delete] Deleting directory C:\Users\regol\eclipse-workspace\bonjour\build\externalLibsdo-compile:
[delete] Deleting directory C:\Users\regol\eclipse-workspace\bonjour\build\project
[delete] Deleting directory C:\Users\regol\eclipse-workspace\bonjour\build\projectRefs
[mkdir] Created dir: C:\Users\regol\eclipse-workspace\bonjour\build\externalLibs
[copy] Copying 1 file to C:\Users\regol\eclipse-workspace\bonjour\build\externalLibs
[copy] Copying 1 file to C:\Users\regol\eclipse-workspace\bonjour\build\externalLibs
[copy] Copying 1 file to C:\Users\regol\eclipse-workspace\bonjour\build\externalLibs
[copy] Copying 1 file to C:\Users\regol\eclipse-workspace\bonjour\build\externalLibs
[copy] Copying 1 file to C:\Users\regol\eclipse-workspace\bonjour\build\externalLibs
[copy] Copying 1 file to C:\Users\regol\eclipse-workspace\bonjour\build\externalLibs
[copy] Copying 1 file to C:\Users\regol\eclipse-workspace\bonjour\build\externalLibs
[copy] Copying 1 file to C:\Users\regol\eclipse-workspace\bonjour\build\externalLibs
[mkdir] Created dir: C:\Users\regol\eclipse-workspace\bonjour\build\project
[copy] Copying 1 file to C:\Users\regol\eclipse-workspace\bonjour\build\project
[mkdir] Created dir: C:\Users\regol\eclipse-workspace\bonjour\build\projectRefs
[delete] Deleting directory C:\Users\regol\eclipse-workspace\bonjour\build\buildinit-fx-tasks:
[mkdir] Created dir: C:\Users\regol\eclipse-workspace\bonjour\build\build\src
[mkdir] Created dir: C:\Users\regol\eclipse-workspace\bonjour\build\build\libs
[mkdir] Created dir: C:\Users\regol\eclipse-workspace\bonjour\build\build\classes
[copy] Copying 8 files to C:\Users\regol\eclipse-workspace\bonjour\build\build\libs
[copy] Copying 1 file to C:\Users\regol\eclipse-workspace\bonjour\build\build\src
[javac] Compiling 1 source file to C:\Users\regol\eclipse-workspace\bonjour\build\build\classes
[taskdef] Could not load definitions from resource com/sun/javafx/tools/ant/antlib.xml. It could not be found.do-deploy:
[copy] Copying 8 files to C:\Users\regol\eclipse-workspace\bonjour\build\dist\libs
BUILD FAILED
C:\Users\regol\eclipse-workspace\bonjour\build\build.xml:132: Problem: failed to create task or type javafx:com.sun.javafx.tools.ant:resources
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
No types or tasks have been defined in this namespace yet
pour info mon fichier build.xml :
Code XML : 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195 <?xml version="1.0" encoding="UTF-8"?> <project name="bonjour" default="do-deploy" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant"> <target name="init-fx-tasks"> <path id="fxant"> <filelist> <file name="${java.home}\..\lib\ant-javafx.jar"/> <file name="${java.home}\lib\jfxrt.jar"/> </filelist> </path> <taskdef resource="com/sun/javafx/tools/ant/antlib.xml" uri="javafx:com.sun.javafx.tools.ant" classpathref="fxant"/> </target> <target name="setup-staging-area"> <delete dir="externalLibs" /> <delete dir="project" /> <delete dir="projectRefs" /> <mkdir dir="externalLibs" /> <copy todir="externalLibs"> <fileset dir="C:\Program Files\Java\JFX\javafx-sdk-11.0.2\lib"> <filename name="javafx.graphics.jar"/> </fileset> </copy> <copy todir="externalLibs"> <fileset dir="C:\Program Files\Java\JFX\javafx-sdk-11.0.2\lib"> <filename name="javafx-swt.jar"/> </fileset> </copy> <copy todir="externalLibs"> <fileset dir="C:\Program Files\Java\JFX\javafx-sdk-11.0.2\lib"> <filename name="javafx.web.jar"/> </fileset> </copy> <copy todir="externalLibs"> <fileset dir="C:\Program Files\Java\JFX\javafx-sdk-11.0.2\lib"> <filename name="javafx.fxml.jar"/> </fileset> </copy> <copy todir="externalLibs"> <fileset dir="C:\Program Files\Java\JFX\javafx-sdk-11.0.2\lib"> <filename name="javafx.base.jar"/> </fileset> </copy> <copy todir="externalLibs"> <fileset dir="C:\Program Files\Java\JFX\javafx-sdk-11.0.2\lib"> <filename name="javafx.swing.jar"/> </fileset> </copy> <copy todir="externalLibs"> <fileset dir="C:\Program Files\Java\JFX\javafx-sdk-11.0.2\lib"> <filename name="javafx.media.jar"/> </fileset> </copy> <copy todir="externalLibs"> <fileset dir="C:\Program Files\Java\JFX\javafx-sdk-11.0.2\lib"> <filename name="javafx.controls.jar"/> </fileset> </copy> <mkdir dir="project" /> <copy todir="project"> <fileset dir="C:\Users\regol\eclipse-workspace\bonjour"> <include name="src/**" /> </fileset> </copy> <mkdir dir="projectRefs" /> </target> <target name='do-compile'> <delete dir="build" /> <mkdir dir="build/src" /> <mkdir dir="build/libs" /> <mkdir dir="build/classes" /> <!-- Copy project-libs references --> <copy todir="build/libs"> <fileset dir="externalLibs"> <include name="javafx-swt.jar"/> <include name="javafx.fxml.jar"/> <include name="javafx.swing.jar"/> <include name="javafx.graphics.jar"/> <include name="javafx.base.jar"/> <include name="javafx.web.jar"/> <include name="javafx.media.jar"/> <include name="javafx.controls.jar"/> </fileset> </copy> <!-- Copy project references --> <!-- Copy project sources itself --> <copy todir="build/src"> <fileset dir="project/src"> <include name="**/*"/> </fileset> </copy> <javac includeantruntime="false" source="14" target="14" srcdir="build/src" destdir="build/classes" encoding="Cp1252"> <classpath> <fileset dir="build/libs"> <include name="*"/> </fileset> </classpath> </javac> <!-- Copy over none Java-Files --> <copy todir="build/classes"> <fileset dir="project/src"> <exclude name="**/*.java"/> </fileset> </copy> </target> <target name="do-deploy" depends="setup-staging-area, do-compile, init-fx-tasks"> <delete file="dist"/> <delete file="deploy" /> <mkdir dir="dist" /> <mkdir dir="dist/libs" /> <copy todir="dist/libs"> <fileset dir="externalLibs"> <include name="*" /> </fileset> </copy> <fx:resources id="appRes"> <fx:fileset dir="dist" includes="bonjour.jar"/> <fx:fileset dir="dist" includes="libs/*"/> </fx:resources> <fx:application id="fxApplication" name="Main" mainClass="application.Main" toolkit="fx" /> <mkdir dir="build/classes/META-INF" /> <fx:jar destfile="dist/bonjour.jar"> <fx:application refid="fxApplication"/> <fileset dir="build/classes"> </fileset> <fx:resources refid="appRes"/> <manifest> <attribute name="Implementation-Vendor" value="politi"/> <attribute name="Implementation-Title" value="Main"/> <attribute name="Implementation-Version" value="1.0"/> <attribute name="JavaFX-Feature-Proxy" value="None"/> </manifest> </fx:jar> <!-- Need to use ${basedir} because somehow the ant task is calculating the directory differently --> <fx:signjar keystore="juju" alias="juju" keypass="juju" storepass="juju" destDir="${basedir}/dist"> <fileset dir='dist'> <include name='**/*.jar' /> </fileset> </fx:signjar> <mkdir dir="deploy" /> <!-- Need to use ${basedir} because somehow the ant task is calculating the directory differently --> <fx:deploy embedJNLP="false" extension="false" width="400" height="400" includeDT="false" offlineAllowed="true" outdir="${basedir}/deploy" outfile="bonjour" nativeBundles="exe" updatemode="background" > <fx:platform basedir="${java.home}"/> <fx:info title="bonjour" vendor="politi"/> <fx:application refId="fxApplication"/> <fx:resources refid="appRes"/> <fx:permissions elevated="true"/> </fx:deploy> </target> </project>
voilà, maintenant je me demande si il ne serait pas mieux de passer par Maven pour construire mon projet Javafx ? quelle est la meilleur solution ? la plus largement utilisée ? passer par Ant et e(fx)clipse, ou construire un projet maven/javafx ?
un grand merci !
Partager