Ich versuche, einige Scala Code in Eclipse Refactoring und in dieser Zusammenstellung Fehler laufen:Scala Java Error: Wert Filter ist kein Mitglied von java.util.Map. Werke außerhalb der Klasse
Wertfilter ist kein Mitglied von java.util.Map
import java.io.File
import com.typesafe.config._
class ConfigLoader {
def parseFile(confFile : File) {
val conf = ConfigFactory.parseFile(confFile).root().unwrapped();
for((k,v) <- conf; (dk, dv) = (k, v.toString())) config.param += (dk -> dv);
}
(Config ist ein Objekt mit "param", um eine Karte von String sein: String)
Dieser Code war ziehen genau von Main(), wo es funktionierte gut wie so:
object Main extends Logging {
def main(args: Array[String]) {
//code cropped for readability.
//config.param["properties"] is absolute path to a passed-in properties file.
val conf = ConfigFactory.parseFile(new java.io.File(config.param("properties"))).root().unwrapped();
for((k,v) <- conf; (dk, dv) = (k, v.toString())) config.param+=(dk -> dv);
Wie Sie sehen können, ist der Code genau der gleiche. Ich habe die gleichen Bibliotheken importiert. Alles, was ich jetzt in Haupt tun anders bin, ist ConfigLoader
Instanziieren und es wie so nennen:
cfgLoader.parseFile(config.param("properties"))
Irgendwelche Ideen, was den Fehler verursacht nur durch sie zu einer Klasse zu verschieben?
Ich habe den Fehler gegoogelt und es scheint ziemlich generisch zu sein.
Regel hinzufügen, wenn ich so etwas wie dies sehen Ich lasse den Scala-Compiler entscheiden, ob etwas nicht stimmt, IDEs können nicht vollständig vertraut werden, weil sie noch ziemlich jung sind und einige Bugs haben. Versuchen Sie, Ihren Code von der Konsole zu kompilieren und sehen Sie, ob der Fehler immer wieder auftaucht Frage. –
Haben Sie die Importe in der Datei überprüft, in der Sie 'Main' definiert haben? –
@Ende Eclipse gibt Probleme, wenn es Fehler gibt (Warnung jedes Mal, wenn Sie kompilieren, nicht finden main(), etc.) ja, sie sind die gleichen Importe. – dlite922