Я хочу прочитать файл log4j.xml, который находится вне папки jar внутри и т. Д. Поэтому я создал файл манифеста следующим образом
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_24-b07 (Sun Microsystems Inc.)
Built-By: Administrator
Main-Class: com.him.LogPrinter
Class-Path: ./lib/log4j.jar ./etc/log4j.xml
Мой файл класса выглядит следующим образом
package com.him;
import org.apache.log4j.Logger;
public class LogPrinter {
/**
* @param args
*/
public static Logger logger = Logger.getLogger(LogPrinter.class);
public static void main(String[] args) {
logger.debug("I am a debug message");
logger.info("i am a info message");
logger.error("i am a error message");
logger.warn("i am a warn message");
System.out.println("hello");
}
}
когда я запускаю файл jar, используя
java -jar myapp.jar
показывает, что обычно исключение не может быть найдено для регистратора, и файл журнала не создан.
Когда я помещаю файл log4.xml в файл jar, он дает требуемый вывод.
Пожалуйста, помогите. Я не могу понять, почему файл конфигурации не выбран, даже если он находится в classpath, настроенном с использованием файла manifest.mf.
Заранее спасибо.