Beste svaret
Tillat meg å gi deg et raskt tips: du vil få mange flere svar og mer meningsfylte svarere hvis du inkluderer koden som forårsaker feil (unntak) så vel som den faktiske feilen (unntak stabelspor).
Når det er sagt, betyr dette spesielle unntaket at filen du prøver å lese eller skrive ikke eksisterer. I Java regnes kataloger som filer, så det kan også bety at katalogen du prøver å lese fra eller skrive til ikke eksisterer.
Uansett er en filsystembane feil. Dette er spesielt vanlig når du bruker relative stier. Det er ikke alltid åpenbart hva den nåværende katalogen er når du utfører koden, etc. Du kan starte feilsøking ved å bruke en absolutt bane til et kjent, lett å finne sted. Hvis du for eksempel prøver å lese en fil (a.txt), legger du den rett på C-stasjonen slik at du kan referere til den som «C: /a.txt».
Hvis du prøver for å lese en fil med en relativ bane, kan du alltid skrive ut den absolutte banen for å se om den evaluerer til det du forventer. Filfil = ny fil (“a.txt”); Skriv det ut med System.out.println (file.getPath ()) og se om stedet er det du forventer å være, og om filen er der
Svar
Spørsmål : Hvordan kan følgende feil løses for et Java-program i Eclipse: «Typen Java.lang.Object kan ikke løses. Det refereres indirekte fra nødvendige .class-filer.» ?
Jeg har en følelse av at dette ikke bare er i formørkelse, men enten et maven, gradle, eføy, maur eller et annet prosjekt for bygg / avhengighetsleder som kjøres i formørkelse – men jeg Svar på det som om det er rent formørkelse først.
Vanligvis betyr denne feilen at JRE ikke blir funnet. Eclipse har vanligvis en innstilling for Java Runtime – jeg er ikke på et system m / Eclipse akkurat nå (og har ikke lyst til å kaste bort tiden til å installere den BARE for å lete etter en innstilling for noen), men i innstillingene skal det være en Java Runtime-innstilling, og det vil peke på mappen der Java er – vanligvis som C: \ Program Files \ Java \ JDK1.12.XY {Muligens \ bin eller \ lib} på Windows. Hvis en mappe er angitt der, må du sørge for at det er noe der i den mappen (at mappen eksisterer først).
Hvis alt ser bra ut, – du trenger ikke å gjøre dette, men kanskje sjekke JAVA\_HOME miljøvariabel for eksistens og gyldighet.
I et Maven-prosjekt (jeg kjenner ikke Gradle, Ivy, etc.), kan du angi Java-kompilasjonsversjoner (både kilde og mål), og hvis det er uleselig eller ikke gir mening som så får du denne feilen. Jeg setter vanligvis både kilde og mål i kompileringsmodulen til både 1.8, 1.9, 1.10, 1.11 eller 1.12 (siden jeg har versjon 12 på de fleste maskinene mine).
Jeg vet ikke hva mer å fortelle deg som jeg nettopp har fortalt deg hva jeg har opplevd, og det er vanligvis ganske enkelt å løse.