Quindi sto cercando di aggiungere alcune capacità al mio progetto per consentire le proprietà definite dall'utente nel mio artefatto di implementazione - una chiave semplice: valore .properties file. Ho inserire il file service.properties inCome caricare il file delle proprietà in Google App Engine?
war/WEB-INF/my-service.properties
E nel mio costruttore ServiceImpl.java Ho il seguente:
String propertiesFileName = "my-service.properties";
URL propertyURL = ClassLoader.getSystemResource(propertiesFileName);
URL propertyURL2 = this.getClass().getClassLoader().getResource(propertiesFileName);
URL propertyURL3 = this.getClass().getClassLoader().getResource("WEB-INF/" + propertiesFileName);
URL propertyURL6 = this.getClass().getClassLoader().getResource(
"E:/Projects/eclipse-workspace/projectName/war/WEB-INF/" + propertiesFileName);
Tutte le istanze per l'immobile URL sono nulli. So che mi manca qualcosa di assolutamente ovvio, ma ho bisogno di un secondo paio di occhi. Saluti.
EDIT:
Ah, a quanto pare ero confuso come predefinito progetto GAE crea un file logging.properties in/guerra. Da Google App Engine documentation:
L'SDK Java di App Engine include un file di logging.properties template, nella directory appengine-java-sdk/config/user /. Per usarlo, copiare il file nella directory WEB-INF/classes (o altrove in WAR), quindi la proprietà di sistema java.util.logging.config.file in "WEB-INF/classes/logging.properties" (o qualunque percorso tu scelga, relativo alla root dell'applicazione). È possibile impostare le proprietà di sistema nel file appengine-web.xml nel modo seguente:
Suppongo che sia un errore di battitura nella tua domanda piuttosto che nella tua app, ma dichiari che il tuo file è chiamato "service.properties", tuttavia propertiesFileName è impostato su "my-service.properties"! –
@Todd: Sì, è un refuso, lo correggerò. –