Selbst wenn ich im Internet suche, gibt es keine Informationen, daher schreibe ich sie zum Teilen.
Tritt auf, wenn ein nicht vorhandenes Verzeichnis als aktuelles Verzeichnis festgelegt ist.
Ich weiß nicht, ob alle anderen Dateisysteme die gleichen Spezifikationen haben, aber zumindest in RedHat7 befinden Sie sich in einem nicht vorhandenen Verzeichnis, wenn Sie das aktuelle Verzeichnis löschen.
[root@******** ~]$ cd hoge
[root@******** hoge]$ rmdir ../hoge
[root@******** hoge]$
Tritt auf, wenn der Initialisierungsprozess der Klasse "DefaultFileSystemHolder" in diesem Status ausgeführt wird. Da es in der Klasse "java.nio.file.Paths" verwendet wird, besteht eine gute Chance, dass der Initialisierungsprozess ausgeführt wird.
Es wurde ein Fehlerbericht ausgelöst, dass die folgende Ausnahme auftrat, als ein bestimmtes Programm ausgeführt wurde.
java.lang.NoClassDefFoundError: Could not initialize class java.nio.file.FileSystems$DefaultFileSystemHolder
at java.nio.file.FileSystems.getDefault(FileSystems.java:176)
at java.nio.file.Paths.get(Paths.java:84)
・ ・ ・
Da "NoClassDefFoundError" angezeigt wird, überprüfe ich den Klassenpfad und das JAR, aber es spielt keine Rolle, wie oft ich es überprüfe. Wenn Sie Google ausprobieren, finden Sie einen JDK-Fehlerbericht wie hier, der "auftritt, wenn" file.encoding "cp037 ist". Allerdings habe ich file.encoding überhaupt nicht berührt ... Oder besser gesagt, es wird nicht reproduziert, selbst wenn es auf dieselbe Weise auf demselben Server wie der Fehlerbericht ausgeführt wird.
Dieses Programm sendet die Dateien in einem bestimmten Verzeichnis nach außen und löscht das Verzeichnis, wenn die Übertragung abgeschlossen ist. Als ich die Screenshots im Fehlerbericht sorgfältig durchgesehen habe, wurde sie ausgeführt, wobei das zu löschende Verzeichnis das aktuelle Verzeichnis war. Wenn Sie dasselbe versuchen, wird es reproduziert.
Nach einem kleinen Debugging scheint es, dass während des Initialisierungsprozesses von DefaultFileSystemHolder "sun.nio.fs.UnixException: Es gibt keine solche Datei oder kein solches Verzeichnis" aufgetreten ist, aber der Root-Auftrittspunkt wurde nicht überholt. Hmm. Ich hoffe, dass jemand, der mit den Informationen in diesem Artikel vertraut ist, sie nachschlagen wird.
Recommended Posts