提问者:小点点

加载属性文件WebSphere Liberty


我有一个简单的应用程序,它使用Spring从类路径加载属性文件。将此应用程序部署到WebSphere Liberty 8.5.5时,会导致FileNotFoundException

java.io嵌套异常。FileNotFoundException:无法打开ServletContext资源[/myprops.properties]

这是我的Spring@Configuration类:

@Configuration
@Profile("dev")
@PropertySource("classpath:/myprops.properties")
public class AppConfigDev extends AppConfig {
  ...
}

我想知道我的属性文件应该位于Liberty目录结构的哪个位置?


共2个答案

匿名用户

在注释中使用前缀classpath:表示给定的属性文件将通过ClassLoader. getResources(…)调用从WebSphere的classpath中获取。

参考:http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/resources.html#resources-classpath-wildcards

您需要为WebSphere Liberty创建所有属性文件的jar,以便能够加载它们。

参考:1.https://developer.ibm.com/answers/questions/13384/websphere-liberty-8-5-setting-java-classpath.html
2. WebSphere Liberty 8.5:设置Java类路径

匿名用户

您可以在名为jvm. option的文件中设置文件的名称/目录,并将其放在您的${server.config.dir}/jvm.option

具体示例:
在文件中:${server. config.dir}/jvm.option
添加以下行:-DAPP_ENV=PROD
访问值:System.getProperty("APP_ENV");-