Donc j'essaye d'ajouter une certaine capacité à mon projet pour autoriser des propriétés définies par l'utilisateur dans mon artefact de déploiement - un simple key: value .properties file. Je placer le fichier dans service.propertiesComment charger un fichier de propriétés dans Google App Engine?
war/WEB-INF/my-service.properties
Et dans mon constructeur ServiceImpl.java j'ai les suivantes:
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);
Toutes les instances d'URL de la propriété sont nuls. Je sais qu'il me manque quelque chose d'absolument évident, mais j'ai besoin d'une seconde paire d'yeux. Cordialement.
EDIT:
Ah, il semble que je ne comprenais pas que le projet par défaut GAE crée un fichier logging.properties dans/guerre. À partir du Google App Engine documentation:
Le SDK Java App Engine inclut un fichier modèle logging.properties dans le répertoire appengine-java-sdk/config/user /. Pour l'utiliser, copiez le fichier dans votre répertoire WEB-INF/classes (ou ailleurs dans le fichier WAR), puis la propriété système java.util.logging.config.file dans "WEB-INF/classes/logging.properties" (ou quel que soit le chemin que vous choisissez, par rapport à la racine de l'application). Vous pouvez définir les propriétés du système dans le fichier appengine-web.xml, comme suit:
Je suppose que c'est une faute de frappe dans votre question plutôt que votre application, mais vous déclarez que votre fichier est appelé "service.properties" et pourtant propertiesFileName est défini sur "my-service.properties"! –
@Todd: Oui, c'est une faute de frappe, je vais le corriger. –