Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java wildfly:从类路径目录读取属性文件_Java_Url_Jboss_Wildfly - Fatal编程技术网

Java wildfly:从类路径目录读取属性文件

Java wildfly:从类路径目录读取属性文件,java,url,jboss,wildfly,Java,Url,Jboss,Wildfly,我正在尝试从我的CLASSATH文件夹中的属性文件中读取特定于部署的信息。War文件通过域模式部署在wildfly 13上 /opt/wildfly/domain/servers/APPS1/tmp/vfs/temp/tempe2b1a59c629344/content-35e1234535af2e86/WEB-INF/classes/bis/com/test/config/application.properties 当我尝试使用以下命令获取路径时 System.getProperty(jbo

我正在尝试从我的CLASSATH文件夹中的属性文件中读取特定于部署的信息。War文件通过域模式部署在wildfly 13上

/opt/wildfly/domain/servers/APPS1/tmp/vfs/temp/tempe2b1a59c629344/content-35e1234535af2e86/WEB-INF/classes/bis/com/test/config/application.properties

当我尝试使用以下命令获取路径时

System.getProperty(jboss.server.temp.dir) 
我只获得/opt/wildfly/domain/servers/APPS1/tmp

我正在运行这个类bis.com.test.module.app中的代码

bis | com |测试|模块|应用程序类

bis | com | test | config | application.properties

我试过了

private static final String PATH = "/WEB-INF/classes/bis/com/test/config/application.properties";

Properties props = new Properties();
InputStream in = getClass().getResourceAsStream("/application.properties");
props.load(in);
String JDBC = props.getProperty("jdbc.connection");

Properties props = new Properties();
InputStream in = App.class().getResourceAsStream("/application.properties");
props.load(in);
String JDBC = props.getProperty("jdbc.connection");

Properties props = new Properties();
InputStream in = getClass().getResourceAsStream(PATH);
props.load(in);
String JDBC = props.getProperty("jdbc.connection");

URL url = FacesContext.getCurrentInstance().getExternalContext().getResource(PATH);
Properties app = new Properties();
           app.load(url.openStream());
String JDBC = app.getProperty("jdbc.connection");

但是我得到了所有的空指针异常…我如何绕过/访问/检索临时文件夹并进入WEB-INF文件夹?由于当前的设计逻辑,我无法将应用程序属性移动到其他位置。我只能在这里访问属性文件。如何操作?

经过一些挖掘,我发现您的
应用程序.properties
位于一个包下,因此应该按如下所示访问它:

ClassLoader loader = getClass().getClassLoader();
inputStream = loader.getResourceAsStream("/bis/com/test/config/application.properties");

这会给你路径中的
jboss.server.config.dir
jboss.domain.config.dir
带来什么?我认为你必须研究一下文档中给出的所有变量,可能其中一个变量会给你精确的路径或接近常量的路径,在
https://docs.wildfly.org/17/Admin_Guide.html
我有一种感觉,我们的想法是错误的:)是的,最近的一个是来自
jboss.server.temp.dir
的,在那里我会得到
opt/wildfly/domain/servers/APPS1/tmp
,但是我无法访问
/vfs/temp/tempe2b1a59c629344/content-35e1234535af2e86
这部分URLLETUS。