Pourquoi suis-je répété modificateur d'erreur lors de la compilation?

import java.util.*;
import java.io.*;
public final class FileListing2 
{
public static void main(String... aArgs) throws FileNotFoundException 
{
File startingDirectory= new File(aArgs[0]);
List<File> files = FileListing.getFileListing(startingDirectory);
//print out all file names, in the the order of File.compareTo()
for(File file : files )
{
System.out.println(file);
}
}
static public List<File> getFileListing(File aStartingDir) throws FileNotFoundException 
{
validateDirectory(aStartingDir);
List<File> result = getFileListingNoSort(aStartingDir);
Collections.sort(result);
return result;
}
static private List<File> getFileListingNoSort(File aStartingDir) throws FileNotFoundException 
{
List<File> result = new ArrayList<File>();
File[] filesAndDirs = aStartingDir.listFiles();
List<File> filesDirs = Arrays.asList(filesAndDirs);
for(File file : filesDirs) 
{
result.add(file); //always add, even if directory
if ( ! file.isFile() ) 
{
//must be a directory
//recursive call!
List<File> deeperList = getFileListingNoSort(file);
result.addAll(deeperList);
}
return result;
}
}
static private void validateDirectory (File aDirectory) throws FileNotFoundException 
{
if (aDirectory == null) 
{
throw new IllegalArgumentException("Directory should not be null.");
}
if (!aDirectory.exists()) 
{
throw new FileNotFoundException("Directory does not exist: " + aDirectory);
}
if (!aDirectory.isDirectory()) 
{
throw new IllegalArgumentException("Is not a directory: " + aDirectory);
}
if (!aDirectory.canRead()) 
{
throw new IllegalArgumentException("Directory cannot be read: " + aDirectory);
}
}
}

J'ai copié ce code de ce site et suis en train de l'adapter pour notre environnement. Malheureusement, je ne peux pas obtenir le $%!@#*($ chose à compiler. Je reçois un message d'erreur à la méthode main: erreur: la répétition d'un modificateur.

public static void main(String... aArgs) throws FileNotFoundException est la ligne marquée pour l'erreur.

Je ne vois pas de dupliquer les modificateurs ici, Tous mes accolades et des parens semblent être dans les bons endroits, et je suis complètement perplexe.

C'est ma première fois de travailler avec varargs...je ne suis pas sûr si ~c'est~ me donner un problème? J'ai scanné la Documentation Java, mais ne l'avais pas remarqué tout de drapeaux rouges. En outre, il compile juste bien quand j'ai changer String... à String[]. Je sens que je peut avoir une des valeurs nulles, donc je préfère le laisser String... dans la méthode.

Quelqu'un a vu quelque chose que je suis absent? Je me sens comme je suis à la recherche à Paris dans le
le printemps casse-tête....

Pouvez-vous ligne en vous donnant la compilation problème?
main(String... aArgs ne le support de java elipse?
elipse depuis Java 1.5 (2004)
La façon dont votre code est mis en forme est ni commun, ni les erreurs faciles à voir. Veuillez envisager d'utiliser un code formatter (la plupart des IDEs ont intégré).
Ligne 8 doit être modifié pour FileListing2.getFileListing(startingDirectory) Ensuite, vous devez ajouter/corriger un retour à getFileListingNoSort. Ensuite, il doit compiler. Edit: répéter ce qui se dit Oscar ci-dessous.

OriginalL'auteur dwwilson66 | 2012-04-23