如何在Google App Engine中加载属性文件?

Chr*_*s K 12 java google-app-engine java-ee

所以我正在尝试为我的项目添加一些功能,以允许我的部署工件中的用户定义属性 - 一个简单的键:value .properties文件.我将service.properties文件放入

war/WEB-INF/my-service.properties 
Run Code Online (Sandbox Code Playgroud)

在我的ServiceImpl.java构造函数中,我有以下内容:

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);
Run Code Online (Sandbox Code Playgroud)

属性URL的所有实例都为null.我知道我错过了一些绝对明显的东西,但我需要第二双眼睛.问候.

编辑:

啊,似乎我很困惑,因为默认的GAE项目在/ war中创建了logging.properties文件.来自Google App Engine文档:

App Engine Java SDK在appengine-java-sdk/config/user /目录中包含模板logging.properties文件.要使用它,请将文件复制到WEB-INF/classes目录(或WAR中的其他位置),然后将系统属性java.util.logging.config.file复制到"WEB-INF/classes/logging.properties"(或无论您选择哪条路径,相对于应用程序根目录.您可以在appengine-web.xml文件中设置系统属性,如下所示:

jsi*_*ght 10

尝试将service.properties放在WEB-INF/classes中.然后它应该可以访问:

this.getClass().getClassLoader().getResourceAsStream("/filename.properties");
Run Code Online (Sandbox Code Playgroud)