Ich habe eine einfache Webanwendung, die Apache Tomcat 6.0 verwendet. Ich versuche, die Eigenschaftendatei aus dem Pfad "resources/mysql.properties" zu lesen. Der Ordner "resources" befindet sich außerhalb des Ordners "src". Wenn ich versuche, das Projekt als Java-Anwendung auszuführen, funktioniert es gut. Aber es löst FileNotFoundException, wenn ich es auf dem Server ausführen.FileNotFound Ausnahme beim Ausführen auf Apache Tomcat?
Dies ist der Java-Code mit Haupt, die ich auf der Konsole ausgeführt werde.
package com.jm.test;
import com.jm.util.PropertyUtil;
public class CodeTester {
public static void main(String[] args) {
System.out.println(PropertyUtil.getDBPropertyValue("driver"));
}
}
Dies ist der Code der PropertyUtil.Java-Datei.
Der folgende Code gibt den Fehler bei der Ausführung über den Webserver an.
Class.forName(PropertyUtil.getDBPropertyValue("driver"));
con = DriverManager.getConnection(PropertyUtil.getDBPropertyValue("url"),
PropertyUtil.getDBPropertyValue("username"),
PropertyUtil.getDBPropertyValue("password"));
return con;
Sie sollten Ihre Eigenschaften mit [Class.getResourceAsStream] laden (http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#getResourceAsStream-java.lang.String-). Ein Eintrag in einem .jar oder .war ist keine tatsächliche Datei, daher können Sie ihn nicht mit FileInputStream laden. – VGR
versuchen, Dateinamen direkt ohne das ResourceDir aufzurufen und sehen, ob das hilft. Sie können auch versuchen, den Schrägstrich zu umgehen und es zu versuchen. – yogidilip