Importer une classe sans package

Résolu/Fermé
Cosm8 Messages postés 107 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 19 mai 2014 - 11 juil. 2013 à 11:21
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 11 juil. 2013 à 14:36
Bonjour,

je souhaite importer une classe simplement sans passer par un package mais je n'y parvient pas, lorsque je tente de compiler mon fichier, une erreur m'indique ceci :

C:\Program Files\Java\jdk1.6.0_12\bin>javac app.java
app.java:11: '.' expected
import printer;
^
app.java:11: ';' expected
import printer;
^
2 errors


le fichier printer.java étant dans le même répertoire que app.java

comment faire pour importer des classes sans passer par un package?

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
11 juil. 2013 à 11:56
Tu n'as pas besoin d'importer les classes qui sont dans le package courant (le package par défaut dans ton cas), elles seront toujours accessibles.

Si printer.java est dans le même dossier que app.java, alors la classe app trouvera automatiquement la classe printer. Tu devrais donc supprimer ta ligne "import printer".

Remarque : les noms de classes en Java sont censé commencé par une majuscule, donc leur nom de fichier aussi : App.java et Printer.java
0
Cosm8 Messages postés 107 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 19 mai 2014 5
11 juil. 2013 à 12:19
En fait la classe qui importe est dans un package, la classe à importer n'est pas dans un package particulier
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
Modifié par KX le 11/07/2013 à 14:40
Si je comprends bien "app.java" est dans un package, alors il faut le compiler avec ce package.

Exemple : tu as tout dans le répertoire /monProjet
C'est à dire que tu aurais (si j'ai bien compris) /monProjet/monPackage/app.java et /monProjet/printer.java, dans ce cas tu devrais aller dans le répertoire /monProjet et avoir cette commande :

C:\...\monProjet > "C:\Program Files\Java\jdk1.6.0_12\bin\javac.exe" monPackage/app.java

Mais ça ne règlera pas ton problème, et comme ça je ne vois pas de manière de le résoudre simplement avec un import, alors on peux toujours faire appel au classpath ou à un ClassLoader mais c'est pénible, c'est aussi pour ça qu'il faudrait toujours mettre des classes dans un package !

PS. JDK 1.6.0_12 c'est assez ancien comme JDK, il faudrait se mettre à jour !!!
0