Quote:
par défaut le classpath est positionné sur le répertoire courant,
Ben non...
Ca dépend des JVM et de la plate-forme.
En général (je dis bien en général) le répertoire courant est intégré dans le classpath sous Windows, mais pas sous Linux.
Quote:
l faut pas se positonner dans le package. mais seulement dans le répertoire racine,
Ce qui revient à un problème de classpath, ni plus ni moins.
C'est vrai que j'aurais pu voir que tu n'étais pas positioné à la racine. Mais ton "répertoire bin" m'a hypnotisé. :lol:
Mais si tu me le permets, je pense que tu n'as pas parfaitement saisi la chose dans toute sa finesse.
Fondamentalement le problème n'est pas le répertoire où tu te situes avant de lancer javac. Le problème est que Vector doit être compilée avant la classe qui l'utilise (ce que tu fais bien) **puis doit être placée** dans le sous répertoire myPackage d'un endroit quelconque faisant partie du classpath.
Dans ton cas, tu t'en sors parce que tu compiles tout au même endroit et que tu déposes les .java et les .class dans le même répertoire.
Mais dès que tu vas travailler avec un projet plus complexe, avec de nombreux packages et répertoires, tu verras que tu vas retomber sur le problème.
Donc je me permets d'insister. Tu dois:
- positionner un classpath correct, qui est pour, reprendre tes termes, une collection (et non un seul) de répertoires racines.
- faire en sorte que les classes compilées, c'est à dire les fichiers .class, soient positionnées sous une quelconque de ces racines, *et* dans un sous -répertoire de même nom que le package.
D'ailleurs si ça t'amuse de regarder, tous les environnements de programmation Java tels Eclipse, Netbeans ou autre séparent (ou permettent de séparer) .java et .class et fonctionnent comme je te l'ai dit.
En espérant avoir été bien clair... :)
Ben non...
Ca dépend des JVM et de la plate-forme.
En général (je dis bien en général) le répertoire courant est intégré dans le classpath sous Windows, mais pas sous Linux.
Ce qui revient à un problème de classpath, ni plus ni moins.
C'est vrai que j'aurais pu voir que tu n'étais pas positioné à la racine. Mais ton "répertoire bin" m'a hypnotisé. :lol:
Mais si tu me le permets, je pense que tu n'as pas parfaitement saisi la chose dans toute sa finesse.
Fondamentalement le problème n'est pas le répertoire où tu te situes avant de lancer javac. Le problème est que Vector doit être compilée avant la classe qui l'utilise (ce que tu fais bien) **puis doit être placée** dans le sous répertoire myPackage d'un endroit quelconque faisant partie du classpath.
Dans ton cas, tu t'en sors parce que tu compiles tout au même endroit et que tu déposes les .java et les .class dans le même répertoire.
Mais dès que tu vas travailler avec un projet plus complexe, avec de nombreux packages et répertoires, tu verras que tu vas retomber sur le problème.
Donc je me permets d'insister. Tu dois:
- positionner un classpath correct, qui est pour, reprendre tes termes, une collection (et non un seul) de répertoires racines.
- faire en sorte que les classes compilées, c'est à dire les fichiers .class, soient positionnées sous une quelconque de ces racines, *et* dans un sous -répertoire de même nom que le package.
D'ailleurs si ça t'amuse de regarder, tous les environnements de programmation Java tels Eclipse, Netbeans ou autre séparent (ou permettent de séparer) .java et .class et fonctionnent comme je te l'ai dit.
En espérant avoir été bien clair... :)