Por lo tanto, intento agregar cierta capacidad a mi proyecto para permitir propiedades definidas por el usuario en mi artefacto de implementación: una simple clave: valor .properties. Me colocar el archivo en service.properties¿Cómo cargar el archivo de propiedades en Google App Engine?
war/WEB-INF/my-service.properties
Y en mi constructor ServiceImpl.java Tengo el siguiente:
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);
Todas las instancias de la propiedad URL son nulos. Sé que me estoy perdiendo algo absolutamente obvio, pero necesito un segundo par de ojos. Saludos.
EDIT:
Ah, parece que estaba confundido como predeterminado proyecto GAE crea un archivo en logging.properties/guerra. Del Google App Engine documentation:
El SDK Java de App Engine incluye un archivo logging.properties de plantilla, en el directorio appengine-java-sdk/config/user /. Para usarlo, copie el archivo en su directorio WEB-INF/classes (o en otro lugar en el WAR), luego la propiedad del sistema java.util.logging.config.file a "WEB-INF/classes/logging.properties" (o cualquiera que sea la ruta que elija, relativa a la raíz de la aplicación). Puede establecer las propiedades del sistema en el archivo appengine-web.xml, de la siguiente manera:
Supongo que es un error ortográfico en su pregunta en lugar de su aplicación, pero declara que su archivo se llama "service.properties" pero propertiesFileName está establecido en "my-service.properties"! –
@Todd: Sí, es un error tipográfico, lo corregiré. –