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)