JBoss7/WildFly webapp - 如何从 class 访问属性文件
JBoss7/WildFly webapp - how to access properties file from class
我尝试从自己的 config.properties
文件加载 webapp 项目的设置,但没有成功:找不到文件。我不能使用 ServletContext
方法,因为我已经从 普通 class.
访问文件
file = Config.class.getClassLoader().getResourceAsStream("/config.properties");
- returns 为空。
我已经尝试将文件放入 WEB-INF
和 resources
文件夹,但仍然不起作用:(
有什么想法可以强制执行这项工作吗?
对于可以解决您的问题的配置文件,我的建议是将它们放在依赖于环境变量的文件夹中。
如果您的应用程序名为 MyApp,那么您可以强制用户将该文件放在指向环境变量 MY_APP 的文件夹中。实际上,您可以通过启动检查强制 运行 应用程序。
如果您希望您的应用程序在没有环境变量的情况下 运行,通常您应该为您的配置参数指定默认值。
要在 Java 中获取环境变量,您可以使用 System.getenv();
尝试将文件放入 WEB-INF/classes .
如果你将你的配置放在 src 中,编译后它将在 WEB-INF/classes.
我尝试从自己的 config.properties
文件加载 webapp 项目的设置,但没有成功:找不到文件。我不能使用 ServletContext
方法,因为我已经从 普通 class.
file = Config.class.getClassLoader().getResourceAsStream("/config.properties");
- returns 为空。
我已经尝试将文件放入 WEB-INF
和 resources
文件夹,但仍然不起作用:(
有什么想法可以强制执行这项工作吗?
对于可以解决您的问题的配置文件,我的建议是将它们放在依赖于环境变量的文件夹中。
如果您的应用程序名为 MyApp,那么您可以强制用户将该文件放在指向环境变量 MY_APP 的文件夹中。实际上,您可以通过启动检查强制 运行 应用程序。
如果您希望您的应用程序在没有环境变量的情况下 运行,通常您应该为您的配置参数指定默认值。
要在 Java 中获取环境变量,您可以使用 System.getenv();
尝试将文件放入 WEB-INF/classes .
如果你将你的配置放在 src 中,编译后它将在 WEB-INF/classes.