在WildFly中,可以通过使用外部配置文件的方式将属性文件与ear/jars和模块分离。这样做的好处是可以在不重新打包应用程序的情况下修改属性文件的内容。
具体实现方法如下:
<subsystem xmlns="urn:jboss:domain:ee:4.0">
节点,添加以下内容:<subsystem xmlns="urn:jboss:domain:ee:4.0">
...
<global-modules>
...
<module name="org.my.config" slot="main"/>
</global-modules>
...
</subsystem>
<subsystem xmlns="urn:jboss:domain:ee:4.0">
节点下的 <ear-subdeployments-isolated>
节点,将其值设置为 false
:<subsystem xmlns="urn:jboss:domain:ee:4.0">
...
<ear-subdeployments-isolated>false</ear-subdeployments-isolated>
...
</subsystem>
<subsystem xmlns="urn:jboss:domain:ee:4.0">
节点下的 <jboss-deployment-structure>
节点,添加以下内容:<subsystem xmlns="urn:jboss:domain:ee:4.0">
...
<jboss-deployment-structure>
...
<deployment>
<dependencies>
<module name="org.my.config" slot="main"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
...
</subsystem>
Properties properties = new Properties();
try (InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties")) {
properties.load(inputStream);
} catch (IOException e) {
// 处理异常
}
通过以上步骤,属性文件config.properties将被加载到应用程序中,可以通过properties对象获取其中的属性值。
推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云对象存储(COS)。
领取专属 10元无门槛券
手把手带您无忧上云