因此,我正在尝试向项目添加一些功能,以允许在部署工件中使用用户定义的属性-一个简单的key:value .properties文件。我将service.properties文件放在
war/WEB-INF/my-service.properties
在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);
属性URL的所有实例均为空。我知道我确实缺少某些明显的东西,但是我需要第二双眼睛。问候。
编辑:
嗯,似乎我很困惑,因为默认的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文件中设置系统属性,如下所示: _
尝试将service.properties放在WEB-INF / classes中。然后应该可以通过以下方式访问它:
this.getClass().getClassLoader().getResourceAsStream("/filename.properties");