Access属性文件:Java和Linux

时间:2013-03-14 10:26:17

标签: java linux log4j

这是我的文件夹结构

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

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

3 个答案:

答案 0 :(得分:0)

如果要传递属性文件的路径,则可以选择以下选项:

props.load(new FileReader("/home/whatever/config.properties"));

答案 1 :(得分:0)

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

    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();
            }
        }
    }

答案 2 :(得分:0)

其中一个解决方案可能是:

  1. 删除“属性文件阅读代码”
  2. 使用

    运行命令

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

  3. 可替换地:

    1. 将您的属性文件重命名为log4j.properties
    2. 将其添加到您的类路径中