|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : février 2012 Messages : 110 ![]() |
Bonjour 'a tous,
A partir d'un fichier XML je genere, avec la console, des fichiers .java (dans un dossier src). je dois ensuite utiliser ces dossiers comme des librairies dans un nouveau programme java, il faudrait donc que j'aie acces aux classes de mes fichiers .java. j'ai tente de maniere un peu hasardeuse d'integrer un .jar cree manuellement 'a partir de mes dossiers mais bien entendu ca ne fonctionne pas, et egalement de copier coller mes dossiers dans eclipse, mais je n'ai toujours pas acces aux classes. j'imagine que le souci est que ces fichiers ne sont pas transformes en .jar. est ce que vous auriez une idee pour transformer automatiquement ces fichiers en .jar pour ensuite pouvoir utiliser les methodes qu'ils comportent? Merci beaucoup d'avance! |
|
|
00
|
|
|
#2 |
![]() ![]() Mathieu Ingénieur développement logiciels Inscription : avril 2004 Messages : 1 180 ![]() |
Il faut surtout que tes fichiers .java soient compilés en .class.
|
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : février 2012 Messages : 110 ![]() |
d'accord, et est ce que j'aurais un moyen de faire ca? si oui, est ce possible dans un batch?
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() |
si tu en utilse un, ton IDE devrais faire le travail. Sinon, en ligne de commande, c'est l'application javac qu'il faut utiliser, faisant partie du JDK. Pour automatiser le travail, tu peux t'orienter soit vers maven, soit vers ant.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : février 2012 Messages : 110 ![]() |
j'ai deja essaye de creer mes classes avec javac mais il me sort une exception:
exception in thread "main" et pour cause, il n'y a pas de main dans mes fichiers, contrairement aux exemples des tutos que j'ai parcourus. donc est ce que ca veut dire que je n'ai pas moyen d'avoir acces 'a ces classes? |
|
|
00
|
|
|
#6 |
![]() ![]() Mathieu Ingénieur développement logiciels Inscription : avril 2004 Messages : 1 180 ![]() |
Tu as du te tromper de commande, il n'y a pas besoin de méthode main pour compiler.
Montre toute ta trace. Sinon, le plus simple serait de créer un projet sous ton IDE et de mettre tes sources dans ce projet. |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : février 2012 Messages : 110 ![]() |
@echo off
set MYCLASSPATH="C:\Program Files\VE\veapi.jar;C:\Program Files\VE\marchall-client.jar;VEservice.jar" "C:\Program Files\Java\jdk1.7.0_03\bin\java" -cp %MYCLASSPATH% ve.VE -a "GT HTD" -d "FileName" -v rem je genere un fichier xml "C:\Program Files\Java\jdk1.7.0_03\bin\java" -classpath "..\generation.jar" generation.commands.CommandLine -script=toto.txt rem je genere des fichiers .java grace 'a ce fichier md bin "C:\Program Files\Java\jdk1.7.0_03\bin\javac" -sourcepath src -d bin\ src\grammars\toto\definitions\DHTJKB-01.java rem DHTJKB-01 est l'un des fichiers generes, sa classe s'appelle egalement DHTJKB-01 "C:\Program Files\Java\jdk1.7.0_03\bin\java" -cp bin grammars.toto.definitions.DHTJKB-01 rem ici j'essaie d'obtenir la classe de ces fichiers. (en fait j'aimerais pouvoir utiliser les classes de tous les fichiers generes...) je ne veux pas le compiler directement avec eclipse parce que tout le mecanisme devra pouvoir etre appele par php, 'a la fin. les fichiers generes sont differents 'a chaque fois, j'ajouterai d'ailleurs les classes par ligne de commmande avant d'appeler le programme |
|
|
00
|
|
|
#8 | |
|
Membre expérimenté
![]() |
Citation:
"j'aimerais pouvoir utiliser les classes de tous les fichiers generes" a cette etape ils sont compiler et donc utilisable, tant qu'ils sont dans le classpath, par d'autre class. je pence que tu voudrais plutot utilisse une class de test ou ton programe les utilisant ^^ |
|
|
|
00
|
|
|
#9 | |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : février 2012 Messages : 110 ![]() |
ah oui en effet, j'ai suivi betement http://skebir.developpez.com/tutoriels/java/ant/
Citation:
("C:\Program Files\Java\jdk1.7.0_03\bin\javac" -sourcepath src -d bin\ src\grammars\toto\definitions\DHTJKB-01.java pour moi), ca ne me genere rien du tout dans bin |
|
|
|
00
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() ![]() |
ce serait quand même bien que, en plus des commande, on aie ce qui se passe à l'écran... Sinon on va pas pouvoir deviner ce qui se passe.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : février 2012 Messages : 110 ![]() |
alors en fait le souci vient de l'inclusion de librairies (desolee c'etait un peu idiot de pas decomposer)
il me dit symbol: class edi; error: cannot find symbol cette classe se trouve dans un .jar (Grammars.jar), donc j'essaie de l'integrer md bin "C:\Program Files\Java\jdk1.7.0_03\bin\java" -classpath .\src\grammars\grammars.toto.definitions.DHTJKB-01.java;.\Grammars.jar DHTJKB-01 "C:\Program Files\Java\jdk1.7.0_03\bin\javac" -sourcepath src -d bin\ src\grammars\toto\definitions\DHTJKB-01.java mais il me dit: error:could not find or load main class DHTJKB-01 (en effet elle n'a pas de main) (du coup error: package grammars does not exist) |
|
|
00
|
|
|
#12 | |
|
Membre expérimenté
![]() |
Citation:
ensuite c'est le .class est pas le .java qu'il te faut sur le classpath. donc: Code :
"C:\Program Files\Java\jdk1.7.0_03\bin\java" -classpath bin;.\Grammars.jar DHTJKB-01 |
|
|
|
00
|
|
|
#13 |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : février 2012 Messages : 110 ![]() |
ça me donne toujours la même erreur: could not find or load main class DHTJKB-01 (qui est une public final class et ne contient pas de main)
|
|
|
00
|
|
|
#14 | |
|
Membre expérimenté
![]() |
ha oui pas fait gaffe a sa mais comme je l'ai dis plus haut:
Citation:
|
|
|
|
00
|
|
|
#15 |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : février 2012 Messages : 110 ![]() |
mmm oui mais pour les utiliser il faut que je les transforme en .class si j'ai bien compris!
mais je pourrais pas tout simplement faire un truc du genre "C:\Program Files\Java\jdk1.7.0_03\bin\javac" -source Grammars.jar -d bin\ src\grammars\toto\definitions\DHTJKB-01.java histoire qu'il comprenne directement le .jar 'a l'interieur? mais source n'est visiblement pas la bonne commande et je ne trouve pas la bonne edit: ca fonctionne avec -classpath (j'etais pourtant sure d'avoir teste...) |
|
|
00
|
|
|
#16 |
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : février 2012 Messages : 110 ![]() |
ca a bien transforme les .java en .class mais maintenant j'ai un nouveau souci: quand je fais DHTJKB-01.instance(); (bien reconnu) j'ai cette erreur:
Exception in thread "main" java.lang.NoClassDefFoundError: grammars/toto/definitions/DHTJKB-01 at Bench.main(Bench.java:70) Caused by: java.lang.ClassNotFoundException: grammars.toto.definitions.DHTJKB-01 et voila les causes d'apres le net: 1) Class is not available in Java Classpath. (je pense que si puisque c'est bien reconnu) 2) You might be running your program using jar command and class was not defined in manifest file's ClassPath attribute. 3) Any startup script is overriding Classpath environment variable. je pense que c'est la cause 2 et que je dois donc continuer de suivre ce super tuto http://skebir.developpez.com/tutoriels/java/ant/ mais un manifest c'est bien quand j'ai un .jar, non? or la j'ai pas de main donc pas de jar.. enfin si j'ai un main mais c'est dans lui que je veux utiliser les classes... |
|
|
00
|
|
|
#17 | ||
|
Membre expérimenté
![]() |
Citation:
Citation:
je pense que c'est la cause 2 et que je dois donc continuer de suivre ce super tuto http://skebir.developpez.com/tutoriels/java/ant/ mais oui ^^ donc quelle class? et comment tu l'execute? |
||
|
|
00
|
|
|
#18 | |||
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : février 2012 Messages : 110 ![]() |
Citation:
Citation:
Citation:
|
|||
|
|
00
|
|
|
#19 |
|
Membre expérimenté
![]() |
ha si c'est dans eclipse il faut pour ajouter quelque chose au classpath allez dans les propriété run/Debug>ton projet>claspath (et il faut que tu ajoute le dossier bin si c'est toujours dans se dossier que tu met les .class)
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com