Wenn eine Drittanbieter-Bibliothek, die ich benutze, versucht, auf eine Datei zuzugreifen, bekomme ich "Fehler beim Öffnen ... Datei ... (Keine solche Datei oder Verzeichnis)" obwohl ich weiß, dass die Datei in der WAR ist . Ich habe sowohl die gepackte (.war) als auch die "explodierte" (Verzeichnis) Bereitstellung ausprobiert, und die Datei ist definitiv da. Ich habe versucht, auch volle Berechtigungen dafür zu setzen. Es ist auf Unix (Ubuntu). Datei ist war/dict/index.sense und der Fehler ist "dict/index.sense (keine solche Datei oder Verzeichnis)".Anfänger-Servlet-Frage: Zugriff auf Dateien in einem WAR, welcher Pfad?
Es funktioniert gut auf meinem Windows-Computer, wenn es im gehosteten Modus als GWT-App von Eclipse ausgeführt wird, nur nicht, wenn ich es zur Bereitstellung auf den Unix-Rechner übertrage.
Meine Frage ist: Hat jemand das schon einmal erlebt und/oder gibt es Unterschiede im relativen Pfad, die ich in Betracht ziehen sollte, d. H. Was ist der Root-Pfad für relativen Dateizugriff in einem Krieg?
zeigen Sie uns etwas Code (der hoffentlich servletContext.getRealPath enthält) – Thilo
Es ist eine Bibliothek von Drittanbietern, die versucht, auf die Datei zuzugreifen. Also habe ich keine Kontrolle darüber, wie es das macht.Der einzige Code, den ich einstelle, ist "System.setProperty (" wordnet.database.dir "," dict ");" gemäß ihren Anweisungen zur Verwendung ihrer Bibliothek. – Navigateur