Salut,
Premièrement, tu n'exécuteras pas ton fichier .java (qui doit avoir une méthode main() évidemment), mais le .class résultant de la compilation du .java.
Ensuite, pour exécuter un programme java compilé, on utilise le programme java.exe (ou éventuellement javaw.exe sur Windows, lorsqu'il y a une UI graphique), et on indique l'emplacement des classes (dossiers et jar) par l'argument -cp (ou -classpath), suivi des chemins d'accès aux dossiers ou jars où trouver les classes.
Maintenant, pourquoi si je mets un monfichier.class dans un dossier, que je me place dans celui-ci par cd et puis je fais "java monfichier", ça fonctionne malgré que je n'ai pas de -cp qui indique le dossier courant (.) : parce que "-cp ." est implicite, quand on utilise pas -cp. Ce qui veut dire que pour exécuter avec 2 jars dans des dossiers autres, il faudra explicitement ajouter le dossier qui contient la classe principale (.). On fera
java -cp dossier1/jar1.jar;dossier2/jar2.jar;. monprog
les ; c'est sur windows et sur linux, c'est :
A noter que tu peux faire également un jar exécutable qui contient ta classe, les 2 jars, et exécuter le tout tout simplement par java -jar lejar
Partager