0

这是我的文件夹结构

proj    
   --src   
   --config    
   --bin

在linux它的

/home/proj/src
/home/proj/config

我的配置文件夹包含 log4j 属性文件。

我正在尝试在 linux 中执行我的 java 类。

这就是我在我的 java 类中访问它的方式(这肯定是错误的)

String propFile = "/../config/Log4jprop.properties";
ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
URL logPropFile = systemClassLoader.getResource(propFile);
PropertyConfigurator.configure(logPropFile);

我需要能够从我在 linux 中的类访问我的属性文件。

我的部分命令如下

java -classpath /home/proj/config/Log4jprop.properties:./ Start

如何确保读取日志属性文件?

4

3 回答 3

0

如果您要传递属性文件的路径,那么这是选项:

props.load(new FileReader("/home/whatever/config.properties"));
于 2013-03-14T10:29:20.997 回答
0

您可以在将类路径设置为“proj”文件夹后执行此操作。

    FileInputStream str = null;
    Properties prop = new Properties();
    try 
    {
        str = new FileInputStream("config/Log4jprop.properties");
        prop.load(str);
        PropertyConfigurator.configure(prop);
    }catch( IOException ex ) {
        ex.printStackTrace();
    }finally {
        if( str != null ) {
            try {
                str.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
于 2013-03-14T10:33:33.690 回答
0

解决方案之一可能是:

  1. 完全删除您的“属性文件读取代码”
  2. 运行你的命令

    java -Dlog4j.configuration=/home/proj/config/Log4jprop.properties:./开始

或者:

  1. 将您的属性文件重命名为 log4j.properties
  2. 将其添加到您的类路径中
于 2013-03-14T10:40:06.150 回答