Hoe te corrigeren ' het systeem kan het opgegeven pad niet vinden ' fout op Java


Beste antwoord

Staat u mij toe u een snelle tip te geven: u krijgt veel meer antwoorden en meer zinvolle antwoorden als u de code opneemt die de fout (uitzondering) evenals de feitelijke fout (exception stacktrace).

Dit gezegd hebbende, betekent deze specifieke uitzondering dat het bestand dat u probeert te lezen of schrijven niet bestaat. In Java worden mappen als bestanden beschouwd, dus het kan ook betekenen dat de map waaruit u probeert te lezen of te schrijven niet bestaat.

Hoe dan ook, een bestandssysteempad is verkeerd. Dit komt vooral veel voor bij het gebruik van relatieve paden. Het is niet altijd duidelijk wat de huidige directory is bij het uitvoeren van de code, enz. U kunt beginnen met het oplossen van problemen door een absoluut pad te gebruiken naar een bekende, gemakkelijk te lokaliseren locatie. Als u bijvoorbeeld een bestand (a.txt) probeert te lezen, plaats het dan rechtstreeks op de C-schijf zodat u ernaar kunt verwijzen als “C: /a.txt”.

Als u het probeert om een ​​bestand met een relatief pad te lezen, kunt u altijd het absolute pad afdrukken om te zien of het evalueert naar wat u verwacht. Bestandsbestand = nieuw bestand (“a.txt”); Druk het vervolgens af met System.out.println (file.getPath ()) en kijk of die locatie is zoals je verwacht dat het is en of het bestand er is

Antwoord

Vraag : Hoe kan de volgende fout worden opgelost voor een Java-toepassing in Eclipse: “Het type Java.lang.Object kan niet worden opgelost. Er wordt indirect naar verwezen vanuit vereiste .class-bestanden.” ?

Ik heb het gevoel dat dit niet louter in Eclipse is, maar ofwel een maven, gradle, klimop, ant of een ander build / afhankelijkheidsbeheerproject dat in Eclipse wordt uitgevoerd – maar ik Ik beantwoord het alsof het eerst puur Eclipse is.

Meestal betekent deze fout dat de JRE niet wordt gevonden. Eclipse heeft meestal een instelling voor de Java Runtime – ik gebruik momenteel geen systeem met Eclipse (en heb geen zin om de tijd te verspillen om het te installeren ALLEEN om een ​​instelling voor iemand te zoeken) maar in de instellingen zou dat wel moeten een Java Runtime-instelling zijn en die verwijst naar de map waar uw Java zich bevindt – meestal zoals C: \ Program Files \ Java \ JDK1.12.XY {Eventueel \ bin of \ lib} op Windows. Als daar een map is ingesteld, zorg er dan voor dat er iets in die map staat (dat de map eerst bestaat).

Als dat er allemaal goed uitziet, – zou u dit niet moeten hoeven te doen, maar controleer uw JAVA\_HOME omgevingsvariabele voor bestaan ​​en geldigheid.

In een Maven-project (ik ken Gradle, Ivy, enz. Niet), kun je de Java-compilatieversies (zowel bron- als doel) instellen en als dat onleesbaar is of niet logisch is zoals1.99f , dan krijg je deze foutmelding. Meestal stel ik zowel de bron als het doel in de compileermodule in op zowel 1.8, 1.9, 1.10, 1.11 of 1.12 (aangezien ik versie 12 op de meeste van mijn machines heb).

Ik weet niet wat nog meer om je te vertellen zoals ik je net heb verteld wat ik heb meegemaakt en het is meestal vrij eenvoudig op te lossen.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *