File not found avec javac

Fermé
Archange27 Messages postés 240 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 20 août 2020 - 3 août 2015 à 01:59
Archange27 Messages postés 240 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 20 août 2020 - 11 août 2015 à 00:43
Bonjour,

J'ai acheté récemment le livre d'Anne Tasso "Le livre de Java premier langage"
J'ai téléchargé java et netbeans.J'ai configuré le chemin path pour la commande javac.

Ensuite j'ai copié son premier programme sur la circonférence du cercle dans le Bloc-Notes, puis je l'ai enregistré sous format .java. Et mis sur le Bureau.

Mais la compilation "javac Cercle.java" donne "javac: file not found Usage: javac <options> <source files> use -help for a list of possible options "
Par contre sur l'environnement Netbeans le programme fonctionne, même si la commande Scanner ne se colore pas.

Comment faire pour que ça marche sans netbeans ?

Merci d'avance

A voir également:

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
3 août 2015 à 06:43
Bonjour,

Déjà l'installation du JDK et la configuration du PATH semble bonne bonne, sinon il ne t'afficherais pas l'aide de javac.

Par contre je pense que tu n'es pas au bon endroit quand tu lances ta commandes. Par défaut lorsque tu ouvres une invite de commande tu es dans C:\Users\MonNom, il faut ensuite se déplacer vers le dossier qui contient ton fichier avec la commande cd (change directory).
Par exemple cd C:\Workspace\MonProjet où MonProjet serait le dossier où se situe le fichier Cercle.java

Attention aux packages :
Si ton programme commence par la ligne
package tata.toto;
cela veut dire que le fichier Cercle.java doit être situé dans une arborescence de fichiers MonProjet\tata\toto\Cercle.java mais la commande javac doit être effectuée dans le dossier MonProjet, pas dans le dossier toto.

cd C:\Workspace\MonProjet
javac tata\toto\Cercle.java
java tata.toto.Cercle
0
Archange27 Messages postés 240 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 20 août 2020 13
3 août 2015 à 20:25
Ok merci, j'ai fait cd:\blabla\Desktop et tout marche impecc.
Merci beaucoup :)

Y a-t-il des sites où on peut trouver les remèdes aux messages d'erreur, je suis encore novice (je programmais en basic il y a fort longtemps sur amstrad mais les ordi de maintenant sont bien différents) ?

Bonne soirée !
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015 > Archange27 Messages postés 240 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 20 août 2020
3 août 2015 à 20:33
Contrairement à d'autres langages, Java est assez explicite sur les erreurs, il ira même jusqu'à te dire quelle ligne exacte pose problème (que ce soit à la compilation ou à l'exécution) donc il n'y a pas trop de soucis à se faire.

D'un point de vue générale, toute l'API Java est documentée, ce qui permet de savoir précisément ce que font chaque classe et méthode :
https://docs.oracle.com/javase/8/docs/api/
0
Archange27 Messages postés 240 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 20 août 2020 13
Modifié par Archange27 le 5/08/2015 à 02:42
Rebonjour,

J'ai un nouveau problème.

J'ai décidé de déplacer Cercle.java du Bureau à Documents, puis j'ai fait cd\bla bla et j'ai recompilé, ça marche bien. Mais l'exécution de Cercle donne un message d'erreur " Erreur : impossible de trouver ou charger la classe principale Cercle"

Quel est le problème ?

Merci d'avance de votre aide
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
5 août 2015 à 07:52
L'erreur est explicite, il ne trouve pas la classe principale, c'est à dire le fichier .class qui contient la méthode main(String[]) du programme.
Soit parce que tu n'es pas dans le bon dossier, soit parce que la classe Cercle n'est pas compilée, ou ne contient pas la méthode main.
0
Archange27 Messages postés 240 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 20 août 2020 13
5 août 2015 à 20:54
Ce que je ne comprends pas c'est qu'avant quand tout était sur le Bureau, ça marchait bien, et il a suffi que je déplace les trois fichiers (java, class et le 3ème) sur mes documents pour que la classe soit introuvable. Quand je redéplace tout sur le Bureau ça ne marche plus !Que dois-je faire pour que tout marche à nouveau ?

Y a-t-il un fichier à supprimer quelque part ? Se peut-il que la nouvelle classe Cercle empiète sur une déjà créée ?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
5 août 2015 à 20:58
  • "je déplace les trois fichiers (java, class et le 3ème)". C'est quoi le 3ème ?
  • Comment commences ton fichier Cercle.java ? (tout le code jusqu'à
    public class Cercle
    )
  • Est-ce que la classe Cercle contient une méthode
    public static void main(String[] args)
    ?
0
Archange27 Messages postés 240 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 20 août 2020 13
5 août 2015 à 21:20
Voici le texte entier du programme:

import java.util.*;
public class Cercle
{
public static void main(String [] arg)
{
// 1. Déclarer les variables
double unRayon, lePerimetre ;
Scanner lectureClavier = new Scanner(System.in);
// 2.a Afficher le message "Valeur du rayon : " Ã l'écran
System.out.print("Valeur du rayon :");
// 2.b Lire au clavier une valeur, placer cette valeur
// dans la variable unRayon
unRayon = lectureClavier.nextDouble();
// 3. Calculer la circonférence en utilisant la formule consacrée
lePerimetre = 2 * Math.PI * unRayon ;
// 4. Afficher le résultat
System.out.print("Le cercle de rayon " + unRayon + " a pour périmètre : " + lePerimetre );
} // Fin de la fonction main()
} // Fin de la classe Cercle


Les trois fichiers sont Cercle.java (programme principal), Cercle.java~, et Cercle.class (apparu après la compilation).
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
5 août 2015 à 21:24
Cercle.java~ ne sert à rien (je ne sais pas d'où ça sort)

Le code est bon. Donc si c'est sur le bureau, c'est comme la dernière fois :

cd C:\Users\...\Desktop
javac Cercle.java
java Cercle
0