Erreur Java - mauvais fichier source: fichier ne contient pas de classe x . Veuillez supprimer ou assurez-vous qu'il s'affiche

Récemment commencé à étudier Java pour un examen.

Tandis que des modules d'apprentissage, essayé et obtenu un message d'erreur. Ce que j'ai fait,


//Creating class A (Within package the package: com.test.helpers)

package com.test.helpers;
public class A {
    public void sayHello(){
        System.out.println("Hello World");
    }
}

//And then the class App utilizing the class A

import com.test.helpers.*;

public class App{
    public static void main(String args[]){
        A a = new A();
        a.sayHello();
    }
}

J'ai eu ces deux fichiers dans un répertoire appelé "JavaTest" (sur Windows 7),
et la compilation de la A.java à l'aide de la commande "javac -d . A.java"

Et puis, tout en essayant de compiler App.java j'ai obtenu le message d'erreur suivant:


App.java:5: error: cannot access A
                A a = new A();
                ^
  bad source file: .\A.java
    file does not contain class A
    Please remove or make sure it appears in the correct subdirectory of the source path.
1 error

Cependant, le problème semble se résoudre de deux manières,

  1. La suppression du fichier Source A.java
  2. Modification de l'instruction d'importation à partir de 'import com.test.les accompagnateurs.*;' pour
    'import com.test.les aides.A' dans le fichier 'App.java'.

Je serais très reconnaissant si vous pouvez expliquer ce qui se passe ici. Ou je pourrait faire un dingo une erreur humaine ou une erreur de syntaxe.

Voici le lien vers les fichiers source

Merci beaucoup

la classe de l'App est dans le package par défaut, à droite ?
Oui, je le crois. La structure de répertoire est présent (Après compling A.java) sur le Bureau>JavaTest -com>test>aides>A.class -A.java -App.java Merci de prendre le temps d'avoir un loook.
emmh, je ne peux pas voir la structure de répertoire, mais la classe A doit être dans le path JavaTest\com\test\helpers\A.java , est-il ?
Désolé, le premier commentaire ne montrent pas clairement la structure de la classe. Les fichiers source (A.java et App.java) a été à l'intérieur d'un dossier appelé "JavaTest". Après A.Java a été respecté, c'est classe fichier est apparu à l'intérieur de JavaTest>com>test>aides. L'erreur s'affiche lorsque j'essaye de compiler App.java Il devient ok si l'A.java est supprimé ou l'instruction d'importation dans App.java changé, remplacement de l'astérisque explicitement nom de la classe, j'.e A. Btw, merci de prendre le temps de regarder.
Par ailleurs, si vous le souhaitez, voici le lien pour télécharger le projet: lien Merci.

OriginalL'auteur user3210872 | 2014-07-18