Je corrige, je n'avais pas vu ce problème d'indentation.
Citation:
Et en assumant que ton arborescence est sous cette forme :
- swing.jar
- appworker.jar
- depannage
|____ DepannageApp.java
|____ DepannageApp.class
- ...
- */*.[java | class]
Version imprimable
Je corrige, je n'avais pas vu ce problème d'indentation.
Citation:
Et en assumant que ton arborescence est sous cette forme :
- swing.jar
- appworker.jar
- depannage
|____ DepannageApp.java
|____ DepannageApp.class
- ...
- */*.[java | class]
Bonjour,
Oui, j'ai bien package depannage en premiere ligne.
Voila un message d'erreur que j'ai :
Code:
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 $ javac Capture1App.java Capture1App.java:7: package org.jdesktop.application does not exist import org.jdesktop.application.Application; ^ Capture1App.java:8: package org.jdesktop.application does not exist import org.jdesktop.application.SingleFrameApplication; ^ Capture1App.java:13: cannot find symbol symbol: class SingleFrameApplication public class Capture1App extends SingleFrameApplication { ^ Capture1App.java:19: cannot find symbol symbol : class Capture1View location: class capture1.Capture1App show(new Capture1View(this)); ^ Capture1App.java:18: method does not override or implement a method from a supertype @Override protected void startup() { ^ Capture1App.java:27: method does not override or implement a method from a supertype @Override protected void configureWindow(java.awt.Window root) { ^ Capture1App.java:35: cannot find symbol symbol : variable Application location: class capture1.Capture1App return Application.getInstance(Capture1App.class); ^ Capture1App.java:42: cannot find symbol symbol : method launch(java.lang.Class<capture1.Capture1App>,java.lang.String[]) location: class capture1.Capture1App launch(Capture1App.class, args); ^ 8 errors
J'ai trouve ceci a force de recherches :
http://www.developpez.net/forums/d61...yout-jdk1-5-a/
Il faudrait donc arriver a ne pas utiliser org.jdesktop, ou du moins modifier les librairies de swing ?
Alors, j'ai teste, en mettant d'abord swing layout extensions libraries et en creant un nouveau projet, j'ai tjs l'import org.jdesktop.application et donc tjs les erreurs.
Et en mettant standard java 6 code, tjs org.jdesktop, et les erreurs.
La, plus d'idees...
Tres cordialement,
ANDRE Ani
Lorsque tu fais javac Capture1.java, tu compiles sans ajouter aucune autre classe au classpath, donc la librairie AppFramework ne sera pas dans le classpath.
donc toujours, javac -cp appframework.jar:. Capture1.java.
Merci bien.
Je met un lien vers l'archive des sources, sur mon site, comme cela, si quelqu'un à le courage de continuer à se casser les pieds la-dessus, c'est comme vous vous voulez. Je commence vraiment à penser que moi, j'ai 2 mains gauches là...
Dans tous les cas, merci beaucoup a tous, c'est vraiment sympa ;-)
Voila le lien :
http://andre-ani.fr/wp-content/plugi...load.php?id=16
1. Mettre la librairie AppFramework dans un dossier lib/ du même niveau que src/
2. Créer un dossier classes/ du même niveau que src/, dossier qui contiendra les binaires compilés.
3. Dans le dossier parent, compiler avec la commande javac -cp lib/*.jar -d classes -sourcepath src/**/*.java
4. Pour executer l'application, java -cp lib/AppFramework.jar:classes/ depannage.DepannageApp
Normalement, tout devrait se dérouler sans erreur. Tiens nous au courant, en esperant que ça passe. Courage !
Merci de continuer a m'aider !
J'ai teste comme vous m'avez dit, mais en laissant aussi swing-worker puisqu'elle est dans dist et voila ce que j'obtiens :
Et apres l'avoir enleve, la reponse :Code:
1
2
3
4 $ javac -cp lib/*.jar -d classes -sourcepath src/**/*.java javac: invalid flag: lib/swing-worker-1.1.jar Usage: javac <options> <source files> use -help for a list of possible options
Il cree quand meme un fichier Capture1App.class que je n'arrive pas a lancer.Code:
1
2
3
4
5
6
7 $ javac -cp lib/*.jar -d classes -sourcepath src/**/*.java src/capture1/Capture1View.java:96: cannot find symbol symbol : class Capture1AboutBox location: class capture1.Capture1View aboutBox = new Capture1AboutBox(mainFrame); ^ 1 error
Voila une capture d'ecran pour verifier mon arborescence :
http://andre-ani.fr/Navigateur.png
J'ai vraiment 2 mains gauches la, ou je suis maudit ?
Hmm, apparement la classe Capture1AboutBox n'est pas compilée, car non présente dans le dossier classes/ .
Essaie de la compiler explicitement pour voir si des erreurs sont générées.
Code:
1
2javac -cp lib/*.jar -d classes -sourcepath src/capture1/Capture1AboutBox.java
voila :
et j'ai teste, c'est pareil pour les 3 fichiers java...Code:
1
2 capture1$ javac -cp lib/*.jar -d classes -sourcepath src/capture1/Capture1AboutBox.java javac: no source files
comprend pas...
Oups, je t'ai filé une commande erronée.
Si tu spécifies un fichier explicitement, il ne faut pas utiliser l'option sourcepath.
Donc
Par contre, ça ne devrait donc normalement pas compiler, si il manque des dépendances. Essaies de tester ça si ça ne marche pas.Code:
1
2javac -cp lib/*.jar -d classes src/capture1/Capture1AboutBox.java
Il reste des choses tout de même etrange par ici. Si Capture1AboutBox ne compile pas, il devrait te lever des erreurs.Code:
1
2 javac -cp lib/AppFramework.jar:classes/ -d classes src/capture1/Capture1AboutBox.java
Alors, voila le resultat avec la premiere commande :
Code:
1
2
3
4
5
6
7
8
9
10
11
12 capture1$ javac -cp lib/*.jar -d classes src/capture1/Capture1AboutBox.java src/capture1/Capture1AboutBox.java:41: cannot find symbol symbol : class Capture1App location: package capture1 org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(capture1.Capture1App.class).getContext().getResourceMap(Capture1AboutBox.class); ^ src/capture1/Capture1AboutBox.java:47: cannot find symbol symbol : class Capture1App location: package capture1 javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(capture1.Capture1App.class).getContext().getActionMap(Capture1AboutBox.class, this); ^ 2 errors
Et avec la 2eme :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 capture1$ javac -cp lib/AppFramework.jar:classes/ -d classes src/capture1/Capture1AboutBox.java src/capture1/Capture1AboutBox.java:7: package org.jdesktop.application does not exist import org.jdesktop.application.Action; ^ src/capture1/Capture1AboutBox.java:17: cannot find symbol symbol : class Action location: class capture1.Capture1AboutBox @Action public void closeAboutBox() { ^ src/capture1/Capture1AboutBox.java:41: package org.jdesktop.application does not exist org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(capture1.Capture1App.class).getContext().getResourceMap(Capture1AboutBox.class); ^ src/capture1/Capture1AboutBox.java:41: package org.jdesktop.application does not exist org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(capture1.Capture1App.class).getContext().getResourceMap(Capture1AboutBox.class); ^ src/capture1/Capture1AboutBox.java:47: package org.jdesktop.application does not exist javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(capture1.Capture1App.class).getContext().getActionMap(Capture1AboutBox.class, this); ^ 5 errors
Puis avec swing-worker :
Code:
1
2
3
4 capture1$ javac -cp lib/*.jar -d classes src/capture1/Capture1AboutBox.java javac: invalid flag: lib/swing-worker-1.1.jar Usage: javac <options> <source files> use -help for a list of possible options
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 capture1$ javac -cp lib/AppFramework.jar:classes/ -d classes src/capture1/Capture1AboutBox.java src/capture1/Capture1AboutBox.java:7: package org.jdesktop.application does not exist import org.jdesktop.application.Action; ^ src/capture1/Capture1AboutBox.java:17: cannot find symbol symbol : class Action location: class capture1.Capture1AboutBox @Action public void closeAboutBox() { ^ src/capture1/Capture1AboutBox.java:41: package org.jdesktop.application does not exist org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(capture1.Capture1App.class).getContext().getResourceMap(Capture1AboutBox.class); ^ src/capture1/Capture1AboutBox.java:41: package org.jdesktop.application does not exist org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(capture1.Capture1App.class).getContext().getResourceMap(Capture1AboutBox.class); ^ src/capture1/Capture1AboutBox.java:47: package org.jdesktop.application does not exist javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(capture1.Capture1App.class).getContext().getActionMap(Capture1AboutBox.class, this); ^ 5 errors
Toujours ce org.jdesktop qu'il ne trouve pas, alors qu'il devrait etre dans une des 2 lib. J'ai modifie le layout et il a ajoute swing-layout dans les lib. Tout les composants ont l'air de bien utiliser javax.swing alors pourquoi utilise t il quand meme org.jdesktop :
Je ne comprends rien et ça m'agace de ne pas comprendre.Code:
1
2
3
4
5 import org.jdesktop.application.Action; import org.jdesktop.application.ResourceMap; import org.jdesktop.application.SingleFrameApplication; import org.jdesktop.application.FrameView; import org.jdesktop.application.TaskMonitor;
Je sais , desole, je casse les pieds a tout le monde avec mon probleme, mais j'abandonne pas facilement.
J'ai trouve ça sur le forum :
http://www.developpez.net/forums/d16...igne-commande/
En quoi cela est utile d'extraire les classes ? comment s'en servir apres ?
Si quelqu'un a la bonte de me repondre, une fois de plus, ce serait bien gentil.
Tres tres tres cordialement,
ANDRE Ani
De ce que je pense, cela ne devrait rien changer. Mais si cela a marché pour lui, pourquoi ne pas tester dirais-je. Surtout que pour l'instant, je ne vois plus trop ce qui pourrait causer ce problème de compilation.
D'autant plus étrange que de mon côté, la compilation a fonctionné. Je suis désolé de pas pouvoir t'aider plus, mais "normalement", ça aurait du fonctionner en ajoutant au classpath les 2 jars.
Courage & persévérance !
Merci d'etre encore la ;-)
Je n'ai tjs pas desespere mais je n'en suis pas loin...
Vraiment casse pied que cela marche chez vous et pas ici, alors que vous m'avez donnez l'arborescence qu'il fallait et toutes les commandes...
Je ne trouve nul part un jar de org-jdesktop-application, et meme en extrayant appframework, (qui contient org/jdesktop/application.class) ça ne marche pas.
Il n'y a pas de librairie org.jdesktop.application. org.jdesktop.application est un package qui est contenu dans la librairie AppFramework.
Malgré tout, je pense que c'est un problème de classpath. Tu pourrais peut-être essayer de trouver un script Ant qui s'occupe de compiler tout ça. Même si un script Ant de compilation revient à faire la même chose qu'en manipulant javac, je pense que cela pourrait résoudre le problème (qui est un problème que je ne saisis pas)
Ok. Je vais regarder pour un script Ant, je n'y connais rien du tout. Netbeans compil avec Ant je crois, je vais regarder ça.
Un petit script Ant qui trainait sur le poste, ça pourrait t'etre utile pour tester rapidement.Code:
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 <?xml version="1.0" encoding="ISO-8859-1" ?> <project name="PL" default="build"> <property name="classes" location="classes"/> <property name="src" location="src"/> <property name="build" location="build"/> <property name="doc" location="doc"/> <property name="lib" location="lib"/> <property name="jar" location="${build}/game.jar"/> <property name="jdom" location="${lib}/jdom.jar"/> <target name="init"> <mkdir dir="${classes}"/> <mkdir dir="${doc}"/> <mkdir dir="${build}"/> </target> <target name="compile"> <mkdir dir="${classes}"/> <javac srcdir="${src}" destdir="${classes}" classpath="${jdom}:."> </javac> </target> <target name="doc" depends="init"> <mkdir dir="${doc}"/> <javadoc sourcepath="${src}" destdir="${doc}"> <fileset dir="${src}"> <include name="**/*.java"/> </fileset> </javadoc> </target> <target name="clean"> <delete dir="${classes}"/> <delete dir="${doc}"/> <delete dir="${build}"/> </target> <target name="build" depends="compile"> <mkdir dir="${build}"/> <jar jarfile="${jar}" basedir="${classes}"> <manifest> <attribute name="Main-Class" value="game.api.Game"/> <attribute name="Class-Path" value="../lib/jdom.jar"/> </manifest> </jar> </target> </project>
Nommes le build.xml, la compilation se lance avec la tache "compile", donc ant compile.
Dans la ligne <javac>...</javac>, précises bien dans le classpath les 2 librairies que tu utilises.
Qu'est ce que je ne ferais pas sans toi, merci enormement ;-)
J'ai plus trop le temps la, mais demain matin je m'y mets.
Encore un enorme merci !
Au plaisir !
J'espère que ça pourra te débloquer, sinon je serais dans les parages à nouveau à partir de lundi 9h !
Voila l'essai avec ant :
Les memes erreurs, toujours, c'est a n'y rien comprendre.Code:
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 $ ant compile Buildfile: build.xml compile: [javac] Compiling 3 source files to /home/lostsoul/Convert/classes [javac] /home/lostsoul/Convert/src/convert/ConvertAboutBox.java:7: package org.jdesktop.application does not exist [javac] import org.jdesktop.application.Action; [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertApp.java:8: package org.jdesktop.application does not exist [javac] import org.jdesktop.application.Application; [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertApp.java:9: package org.jdesktop.application does not exist [javac] import org.jdesktop.application.SingleFrameApplication; [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertApp.java:14: cannot find symbol [javac] symbol: class SingleFrameApplication [javac] public class ConvertApp extends SingleFrameApplication { [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:22: package org.jdesktop.application does not exist [javac] import org.jdesktop.application.Action; [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:23: package org.jdesktop.application does not exist [javac] import org.jdesktop.application.ResourceMap; [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:24: package org.jdesktop.application does not exist [javac] import org.jdesktop.application.SingleFrameApplication; [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:25: package org.jdesktop.application does not exist [javac] import org.jdesktop.application.FrameView; [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:26: package org.jdesktop.application does not exist [javac] import org.jdesktop.application.TaskMonitor; [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:38: cannot find symbol [javac] symbol: class FrameView [javac] public class ConvertView extends FrameView { [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:40: cannot find symbol [javac] symbol : class SingleFrameApplication [javac] location: class convert.ConvertView [javac] public ConvertView(SingleFrameApplication app) { [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertAboutBox.java:17: cannot find symbol [javac] symbol : class Action [javac] location: class convert.ConvertAboutBox [javac] @Action public void closeAboutBox() { [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:100: cannot find symbol [javac] symbol : class Action [javac] location: class convert.ConvertView [javac] @Action [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertAboutBox.java:41: package org.jdesktop.application does not exist [javac] org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(convert.ConvertApp.class).getContext().getResourceMap(ConvertAboutBox.class); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertAboutBox.java:41: package org.jdesktop.application does not exist [javac] org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(convert.ConvertApp.class).getContext().getResourceMap(ConvertAboutBox.class); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertAboutBox.java:47: package org.jdesktop.application does not exist [javac] javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(convert.ConvertApp.class).getContext().getActionMap(ConvertAboutBox.class, this); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertApp.java:20: cannot find symbol [javac] symbol : method show(convert.ConvertView) [javac] location: class convert.ConvertApp [javac] show(new ConvertView(this)); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertApp.java:25: cannot find symbol [javac] symbol : method getMainFrame() [javac] location: class convert.ConvertApp [javac] this.getMainFrame().setSize(600, 300); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertApp.java:19: method does not override or implement a method from a supertype [javac] @Override protected void startup() { [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertApp.java:34: method does not override or implement a method from a supertype [javac] @Override protected void configureWindow(java.awt.Window root) { [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertApp.java:42: cannot find symbol [javac] symbol : variable Application [javac] location: class convert.ConvertApp [javac] return Application.getInstance(ConvertApp.class); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertApp.java:49: cannot find symbol [javac] symbol : method launch(java.lang.Class<convert.ConvertApp>,java.lang.String[]) [javac] location: class convert.ConvertApp [javac] launch(ConvertApp.class, args); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:46: cannot find symbol [javac] symbol : class ResourceMap [javac] location: class convert.ConvertView [javac] ResourceMap resourceMap = getResourceMap(); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:46: cannot find symbol [javac] symbol : method getResourceMap() [javac] location: class convert.ConvertView [javac] ResourceMap resourceMap = getResourceMap(); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:69: cannot find symbol [javac] symbol : class TaskMonitor [javac] location: class convert.ConvertView [javac] TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext()); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:69: cannot find symbol [javac] symbol : class TaskMonitor [javac] location: class convert.ConvertView [javac] TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext()); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:69: cannot find symbol [javac] symbol : method getApplication() [javac] location: class convert.ConvertView [javac] TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext()); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:103: cannot find symbol [javac] symbol : method getMainFrame() [javac] location: class convert.ConvertApp [javac] JFrame mainFrame = ConvertApp.getApplication().getMainFrame(); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:107: cannot find symbol [javac] symbol : method show(javax.swing.JDialog) [javac] location: class convert.ConvertApp [javac] ConvertApp.getApplication().show(aboutBox); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:143: package org.jdesktop.application does not exist [javac] org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(convert.ConvertApp.class).getContext().getResourceMap(ConvertView.class); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:143: package org.jdesktop.application does not exist [javac] org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(convert.ConvertApp.class).getContext().getResourceMap(ConvertView.class); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:269: package org.jdesktop.application does not exist [javac] javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(convert.ConvertApp.class).getContext().getActionMap(ConvertView.class, this); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:325: cannot find symbol [javac] symbol : method setComponent(javax.swing.JPanel) [javac] location: class convert.ConvertView [javac] setComponent(mainPanel); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:326: cannot find symbol [javac] symbol : method setMenuBar(javax.swing.JMenuBar) [javac] location: class convert.ConvertView [javac] setMenuBar(menuBar); [javac] ^ [javac] /home/lostsoul/Convert/src/convert/ConvertView.java:327: cannot find symbol [javac] symbol : method setStatusBar(javax.swing.JPanel) [javac] location: class convert.ConvertView [javac] setStatusBar(statusPanel); [javac] ^ [javac] 35 errors BUILD FAILED /home/lostsoul/Convert/build.xml:20: Compile failed; see the compiler error output for details. Total time: 1 second
Quand je fais echo $JAVA_HOME, defini dans /etc/bash.bashrc, j'ai ceci :
Mais je doit l'enlever sinon ant compile me renvoie ça :Code:/usr/lib/jvm/java-6-openjdk/bin
Code:
1
2
3$ ant compile Error: JAVA_HOME is not defined correctly. We cannot execute /usr/lib/jvm/java-6-openjdk/bin/bin/java
Je me suis servi du plugin jaranalyzer pour netbeans et il me dit :
unresolved package : org.jdesktop.application