Bästa svaret
Låt mig ge dig ett snabbt tips: du får många fler svar och mer meningsfulla svarare om du inkluderar koden som orsakar fel (undantag) såväl som det faktiska felet (exception stack trace).
Med detta sagt betyder detta speciella undantag att filen du försöker läsa eller skriva inte finns. I Java anses kataloger vara filer, så det kan också betyda att katalogen du försöker läsa från eller skriva till inte existerar.
Hur som helst är filsystemets sökväg fel. Detta är särskilt vanligt när man använder relativa sökvägar. Det är inte alltid uppenbart vad den aktuella katalogen är när koden körs etc. Du kan börja felsöka med en absolut sökväg till en välkänd, lätt att lokalisera plats. Om du till exempel försöker läsa en fil (a.txt), lägg den rätt på C-enheten så att du kan referera till den som ”C: /a.txt”.
Om du försöker för att läsa en fil med en relativ sökväg kan du alltid skriva ut den absoluta sökvägen för att se om den utvärderas till vad du förväntar dig. Filfil = ny fil (“a.txt”); Skriv sedan ut det med System.out.println (file.getPath ()) och se om den platsen är vad du förväntar dig att den ska vara och om filen finns där
Svara
Fråga : Hur kan följande fel lösas för ett Java-program i Eclipse: ”Typen Java.lang.Object kan inte lösas. Det refereras indirekt från nödvändiga .class-filer.” ?
Jag har en känsla av att detta inte bara är i Eclipse utan antingen ett maven, gradle, murgröna, myra eller något annat projekt för att bygga / beroendeshanteraren körs i Eclipse – men jag Jag svarar på det som om det är rent Eclipse först.
Vanligtvis betyder detta fel att JRE inte hittas. Eclipse har vanligtvis en inställning för Java Runtime – jag är inte på ett system w / Eclipse just nu (och känner inte för att slösa bort tiden att installera det BARA för att leta efter en inställning för någon) men i inställningarna borde vara en Java Runtime-inställning och det kommer att peka på mappen där din Java är – vanligtvis som C: \ Program Files \ Java \ JDK1.12.XY {Eventuellt \ bin eller \ lib} i Windows. Om en mapp är inställd där, se till att det finns något där i den mappen (att mappen finns först).
Om allt ser bra ut, – du borde inte behöva göra det här, men kanske kontrollera din JAVA\_HOME miljövariabel för existens och giltighet.
I ett Maven-projekt (jag känner inte till Gradle, Ivy, etc.) kan du ställa in Java-kompileringsversionerna (både käll- och mål) och om det är oläsligt eller inte är meningsfullt som så får du det här felet. Jag ställer vanligtvis både källa och mål i kompileringsmodulen till både 1,8, 1,9, 1,10, 1,11 eller 1,12 (eftersom jag har version 12 på de flesta av mina maskiner).
Jag vet inte vad mer att berätta som jag just berättade vad jag har upplevt och det är vanligtvis ganska lätt att lösa.