Wenn wir den Quellcode eines großen Projekts wie Hadoop mit löffel analysieren, kommt es häufig zu dem Problem "Der Typ xxx ist bereits definiert", da es möglicherweise Java-Klassen mit demselben Klassennamen und demselben Paketverzeichnis gibt Teilprojekte.Wie gehen wir mit "Der Typ xxx ist bereits definiert" in der Quellcodeanalyse für den Quellcode eines großen Projekts?
Ich habe den folgenden Fehler, wenn ich "java -cp xx löffel.Launcher -i ~/hadoop-0.23.3-src/-p myspoon.CatchProcessor" ausführen.
Exception in thread "main" spoon.compiler.ModelBuildingException: The type JobInProgress is already defined
at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.reportProblem(JDTBasedSpoonCompiler.java:550)
at spoon.support.compiler.jdt.TreeBuilderRequestor.acceptResult(TreeBuilderRequestor.java:37)
at spoon.support.compiler.jdt.TreeBuilderCompiler.buildUnits(TreeBuilderCompiler.java:73)
at spoon.support.compiler.jdt.JDTBatchCompiler.getUnits(JDTBatchCompiler.java:120)
at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.buildUnits(JDTBasedSpoonCompiler.java:410)
at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.buildUnitsAndModel(JDTBasedSpoonCompiler.java:372)
at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.buildSources(JDTBasedSpoonCompiler.java:348)
at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.build(JDTBasedSpoonCompiler.java:119)
at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.build(JDTBasedSpoonCompiler.java:102)
at spoon.Launcher.buildModel(Launcher.java:700)
at spoon.Launcher.run(Launcher.java:651)
at spoon.Launcher.run(Launcher.java:106)
at spoon.Launcher.main(Launcher.java:99)
Und ich finde es zwei JobInProgress.java im gleichen Teilprojekt "Hadoop-MapReduce-Projekt"
./hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/JobInProgress.java
./hadoop-mapreduce-project/src/java/org/apache/hadoop/mapred/JobInProgress.java
So wie dieses Problem zu beheben ????? fand ich schon, dass es scheint, dass wir konnten nicht eine der beiden wegbewegen Löffel Analyse laufen, weil es ein anderes Problem der „fehlenden Dateien“
Exception in thread "main" spoon.compiler.ModelBuildingException: The import org.apache.hadoop.conf cannot be resolved at xxx
Alle Kommentare für das Problem verursacht? Vielen Dank.
Danke. Dies ist ein guter Vorschlag. Ich werde es versuchen. –