Zuerst habe ich meinen code probiert, indem ich die ware-datei (mit maven) sowohl auf eclipse als auch auf einem tomcat 8.0.33 stand alone auf meinem mac extrahiert habe.loading ressource funktioniert lokal, aber nicht auf server
Ich habe auch meinen Code auf einem Windows-Server 2008 mit der gleichen Java-Version 1.8 versucht, und es funktioniert, wenn ich einige Variablen (die Benutzername und Passwort sind) fest coded, aber wenn ich den Code zum Lesen von ihnen machen reousrce Datei, es ist nur der Arbeit an meinem mac (beide verdunkeln und Kater stand alone), aber nicht auf dem Server
dies ist der Code, die Ressource
private static String getUsername() {
Properties prop = new Properties();
InputStream input = null;
try {
input = new FileInputStream(MyConfiguration.class.getClassLoader()
.getResource("configuration.properties").getFile());
// load a properties file
prop.load(input);
// get the property value and print it out
return prop.getProperty("username");
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
wo die Lage des configuration.properties
zu lesen ist in der src/main/resources
und auf dem Server kann ich sehen, dass die Datei im richtigen Verzeichnis ist.
i maven verwende, ich weiß nicht, was andere Informationen, die Sie mir helfen müssen, aber wenn Sie sagen, werde ich Ihnen
sehen keinen Grund, hier eine Datei zu verwenden. Wenn 'configuration.properties' in einem Krieg gebündelt ist, können Sie nicht als Datei darauf zugreifen. Der Grund dafür, dass es in Ihrer IDE funktioniert, ist, dass Sie immer noch als Datei darauf zugreifen können. https://issues.apache.org/jira/browse/SUREFIRE-855 ist damit verbunden, es können Sie jetzt mit dem Artefakt anstelle des Klassenordners testen, genau wie "in Produktion". –